我正在爲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