2017-09-13 142 views
0

我试图通过使用断言功能来检查一个元素是否在屏幕上。 我使用Appium和Java来测试应用程序(AndroidDriver)。 我期望的是如果元素在屏幕上返回1,否则返回0。 当我尝试这个;检查元素是否在屏幕上与断言,NoSuchElementException发生

assert driver.findElementById("com.tmob.AveaOIM:id/layout_ayarlar_ovit").isDisplayed() : "It is not on the screen"; 

isDisplayed()是一个布尔函数,但它不工作,因为的

NoSuchElementException异常:一个元素找不到 在页面上使用给定的搜索参数。

我该如何检查这个元素与assert?

回答

0

尝试使用下面的代码:

driver.findElementById("layout_ayarlar_ovit").isDisplayed() 
0

我也面临着同样的问题,并以此为工作四处

我建议你应该使用页面工厂 把这个作为构造

public constructorName(){ PageFactory.initElements(driver,this);}

@FindBy(xpath =“//”)

private WebElement anyName;

如果(anyname.isDisplayed){

的System.out.println( “元素存在”); }

0

分配在IsTrue运算变量(您喜欢的或名称)的返回值,并在下一行使用与消息断言:

布尔IsTrue运算= driver.findElementById(“com.tmob.AveaOIM:ID/layout_ayarlar_ovit “)。被展示(); Assert.assertTrue(true,isTrue,“无法定位元素”);

如果断言失败,输出将为“定位元素失败” 如果断言通过,测试将继续到下一行。