根据屏幕状态执行操作(Android JAVA)

时间:2018-09-09 14:52:46

标签: appium appium-android

说我有两个屏幕“ A”和“ B”,如果要显示屏幕“ A”,我想执行操作“ 1”,如果要显示屏幕“ B”,则要执行操作“ 2”。最初是使用if else语句检查屏幕“ A”和“ B”的存在情况,但无效。这是我的代码

if(screenAisShown()) 
{
button1.click;
} else if(screenBisShown) {
button2.click;
}

在第一个迭代屏幕A中显示了if块,在第二个迭代屏幕B中显示了if块成功执行,但在if块中抛出了NoSuchElementException,而else if则没有执行

TIA

2 个答案:

答案 0 :(得分:0)

您可以创建方法 isAScreenDisplayed() isBScreenDisplayed()

library(tidyverse)
df <- tibble(
  t=1:10,
  x1=t^2,
  x2=sqrt(t),
  y1=sin(t),
  y2=cos(t),
)

df_tidy <- df %>%
  gather(series, value, -t)

ggplot(df_tidy, aes(t, value)) + 
  geom_line() +
  facet_wrap(~series, scales = "free_y")

现在,您可以使用“其他条件”来检查显示哪个屏幕。

public static boolean isAScreenDisplayed(){
   try{
       return elementOfAScreen.isDisplayed();
   }catch(Exception e){
       return false;
   }
}

public static boolean isBScreenDisplayed(){
   try{
       return elementOfBScreen.isDisplayed();
   }catch(Exception e){
       return false;
   }
}

答案 1 :(得分:0)

还有另一种验证方式,您可以使用var task = this.session.uploadFile(path, request); 方法将当前屏幕currentActivity的名称返回为Activity

String