【问题标题】:Selenium + Java = Assertion errorSelenium + Java = 断言错误
【发布时间】:2015-10-13 23:22:34
【问题描述】:

我已经有这种错误,但我仍然不知道为什么。我做错了什么?

如果我在页面源中获得文本,我需要断言 true。

所以这是我的方法:

public boolean AssertSearch() {                 
    return driver.getPageSource().contains("Item found");               
}

这是我的断言:

assertTrue(buscarnok.validabuscaNOK());

我不断收到“断言错误”消息。我不知道为什么。如果我将"return driver.getPageSource().contains("Item found");"更改为driver.findelement(by.id("someID")).isdisplayed();它可以正常工作,那么为什么它不能与getpagesource一起使用?

【问题讨论】:

  • 是源中包含的“找到的项目”还是稍后添加的(搜索完成后)?
  • 搜索后。搜索成功后,页面会显示消息“找到项目”以及项目的详细信息
  • 那么页面源中没有找到文本,是吗?你想要的是找到文本(在 HTML 上)

标签: java selenium junit assertion


【解决方案1】:

如果您要查找的文本最初不在页面中,或者如果它被隐藏,则可能找不到。

试试这样的:

String bodyText = driver.findElement(By.tagName("body")).getText();
Assert.assertTrue("Item Found", bodyText.contains(text));

您可以通过选择不同的标签名称来缩小搜索范围,甚至可以通过classid 选择div 来缩小搜索范围

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2012-05-08
    • 2018-05-19
    相关资源
    最近更新 更多