【发布时间】:2012-07-21 16:32:47
【问题描述】:
我带着更多愚蠢的问题回来了
1) 如果 AssertEquals 为 false,如何使测试失败?
我有这个代码 -
public boolean compareWidthPixels(By by, String expected) {
System.out.println(driver.findElement(by).getCssValue("width"));
try {
assertEquals(expected, driver.findElement(by).getCssValue("width"));
System.out.println("Width as expected");
return true;
} catch (Error e) {
verificationErrors.append(e.toString());
System.out.println("Width incorrect");
return false;
}
当宽度与预期值不匹配但测试用例通过时,此代码显示“宽度不正确”。如果宽度不相等,我希望测试失败。
2) 如何断言/验证元素不存在?
作为一个新手,我尝试了很多我在 Google 和 Stack Overflow 中找到的东西 - Assert that a WebElement is not present using Selenium WebDriver with java、Selenium WebDriver - Test if element is present 等。但它们都不起作用。我正在使用 JUnit4 并且需要一个在元素不存在时应该通过的函数。
谢谢
弥勒
P.S:如果它看起来令人困惑或迷失方向,请随时编辑此问题。
【问题讨论】:
-
看看下面的答案。至于为什么会发生这种情况,您正在捕捉异常 - 所以测试运行者不会意识到一个被提升并因此相信它通过了。有几种断言方法,包括 assertTrue 和 assertFalse:junit.sourceforge.net/javadoc/org/junit/Assert.html
标签: java selenium selenium-webdriver junit webdriver