Appium 应用程序检查是否显示元素
我在用安卓的Appium 以下内容适用于单击元素Appium 应用程序检查是否显示元素,appium,Appium,我在用安卓的Appium 以下内容适用于单击元素 driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).click(); 但是我尝试检查屏幕上是否有元素,我尝试了以下方法 if (driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).isDisplayed(
driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).click();
但是我尝试检查屏幕上是否有元素,我尝试了以下方法
if (driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).isDisplayed()) {
System.out.println("FOUND");
} else {
System.out.println("NOT FOUND!");
}
但它返回一个异常,表示
INFO: HTTP Status: '405' -> incorrect JSON status mapping for 'unknown error' (500 expected)
org.openqa.selenium.WebDriverException: Method is not implemented
如何检查屏幕上是否有元素?您可以用try-catch块包围代码
public boolean isElementDisplayed(){
try{
return driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).isDisplayed();
}catch(Exception e){
//System.out.println(e);
return false;
}
}
您还可以使用通用功能检查是否显示元素
public boolean isElementDisplayed(MobileElement element){
try{
return element.isDisplayed();
}catch(Exception e){
//System.out.println(e);
return false;
}
}
你可以试试这个,希望有帮助 //如果找到元素,请按您的意愿执行
if (driver.findElements(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).size() > 0) {
System.out.println("FOUND");
} else {
System.out.println("NOT FOUND!");
}
您应该在示例中使用原始海报的示例定位器。您还应该考虑,虽然应该有一个Test/catch块,但是您没有检查特定的异常,所以任何异常都可能会误导,并且在某些情况下会导致调试问题,尤其是因为您的示例根本没有显示任何异常处理。