我正在为android应用程序编写自动化。如何知道点击或不点击的按钮
要编写自动化代码,我检查使用uiautomatorviewer(Android SDK工具)
我要查看在华氏和摄氏天气的应用程序。
有一个按钮开关天气单位。
开关气象单位后,我怎么能知道我在华氏或摄氏
这里是连接
天气单位
华氏
截屏摄氏温度
仅供参考我不是开发人员更改移动应用程序代码。我正在为移动应用程序编写自动化测试。有没有什么办法使用java自动化使用http://appium.io/?
我正在为android应用程序编写自动化。如何知道点击或不点击的按钮
要编写自动化代码,我检查使用uiautomatorviewer(Android SDK工具)
我要查看在华氏和摄氏天气的应用程序。
有一个按钮开关天气单位。
开关气象单位后,我怎么能知道我在华氏或摄氏
这里是连接
天气单位
华氏
截屏摄氏温度
仅供参考我不是开发人员更改移动应用程序代码。我正在为移动应用程序编写自动化测试。有没有什么办法使用java自动化使用http://appium.io/?
使用一个开关,
<Switch
android:id="@+id/mySwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="deg celcius"
android:textOff="deg fah"/>
你已经上=开关度摄氏度,并关闭=度华氏温度,因此使用setOnCheckedChangeListener
Switch switchStatus = (TextView) findViewById(R.id.switchStatus);
mySwitch = (Switch) findViewById(R.id.mySwitch);
mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked){ // deg celcius
// Do operation
}else{ // deg fahrenheit
// Do operation
}
}
});
我已更新问题。请看看它。 – karan
你的说明,它看起来像你需要一个切换按钮Toggle Button Developer Link。
如果按钮被选中或不你可以得到:
boolean on = ((ToggleButton) view).isChecked();
一旦你切换按钮,在你的布局简单设置:
此按钮的android:textOn="@string/Fahrenheit"
android:textOff="@string/Celsius"
OnClickListener执行你们各自的逻辑。这应该足以让你去。
我已更新问题。请看看它。 – karan
试试这个:
YourSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked){
switchStatus.setText("Switch is currently ON");
}else{
switchStatus.setText("Switch is currently OFF");
}
}
});
我已更新问题。请看看它。 – karan
我建议你去交换,但仍,如果你想要去的话,那么你将不得不自己来管理状态(启用/禁用)都textviews的。
TextView fehreniteTextview, celsiusTextView;
fehreniteTextview=(TextView)findViewById(R.id.fehrenite);
celsiusTextView=(TextView)findViewById(R.id.celsius);
所以在这里,的onClick你将不得不改变另一个TextView的状态太像:
public void onClickOfFahrenite(View v){
celsiusTextView.setEnabled(true);
fehreniteTextview.setEnabled(false);
}
public void onClickOfCelsius(View v){
celsiusTextView.setEnabled(false);
fehreniteTextview.setEnabled(true);
}
现在作出任何决定之前,你必须检查,其中一个TextView的启用,使用:
if(fehreniteTextview.isEnabled())
{
// Do your stuff
}
else
{
// Do your stuff
}
我希望它可以帮助你!
从看到截图后,textview的背景颜色从灰色变为蓝色。因此,如果您获得了textview的背景颜色,您将可能知道哪个开关处于开启状态。 你可以看看https://groups.google.com/forum/#!topic/appium-discuss/buToEAIDn2c。
我如何使用appium为应用程序获取背景色。请参阅https://github.com/appium/appium/issues/1920 – karan
这里的每个答案都来自Android开发人员而不是Android测试人员,但没有人回答您的问题(他们似乎没有阅读过您不能更改应用程序本身)。
应用程序完成的方式,你不能这样做。 UiAutomator不会读取颜色或类似的东西。因此,如果这些元素的属性(除了文本和边界)没有差异,它就无法知道选择的手段。
如果应用程序正确完成,它将是一个ToogleButton,然后属性(选中或选择,我确定是哪个)将指示选中哪个。
使用布尔值为textview点击或我建议你应该使用切换按钮,而不是textviews。 –
为什么不使用开关或切换代替textview? – AAnkit