WebDriver + TestNG - 如何处理测试结果

时间:2012-12-07 14:32:29

标签: java selenium webdriver testng selenium-webdriver

我对WebDriver和TestNG框架很陌生。我开始研究一个对电子商务网站进行回归测试的项目。我已经完成了登录和注册等工作。但有一点我不太明白。

例如,我有这个简单的代码来搜索产品。

driver.get(url + "/k/k.aspx");
driver.findElement(By.id("q")).clear();
driver.findElement(By.id("q")).sendKeys("xxxx"); //TODO: Make this dynamic
driver.findElement(By.cssSelector("input.submit")).click();

现在我想检查页面上是否显示了xxxx。这可以通过

完成
webdriver.findElement(By.cssSelector("BODY")).getText().matches("^[\\s\\S]*xxxxxx[\\s\\S]*$")

我将其存储在布尔值中并检查其是真还是假。

现在问题,基于这个布尔值,我想说测试结果是成功还是失败。我怎样才能做到这一点?是什么导致testNG测试失败?

5 个答案:

答案 0 :(得分:5)

TestNG或任何其他测试工具根据断言决定测试的成功或失败。

Assert.assertEquals(actualVal, expectedVal);

因此,如果 actualVal expectedVal 相同,则测试将通过,否则将失败。

类似地,如果您使用任何IDE,例如Eclipse,您将找到其他断言选项。

答案 1 :(得分:3)

如果要根据该文本值的验证停止测试执行,则可以使用Asserts。但是,如果要将测试结果记录为失败并继续,则应尝试使用软断言,将验证记录为已通过或失败并继续测试。最新的Testng可以处理这个问题 - Cedric's blog

的信息

答案 2 :(得分:0)

将此代码写入if条件失败的位置

throw new RuntimeException("XXXX not found: ");

答案 3 :(得分:0)

你可以使用throw异常,并且每个方法都会调用这个方法也应该在方法名之后抛出Excetion,或者你可以使用try catch。样品:

protected Boolean AssertIsCorrectURL(String exedctedURL) throws Exception {

String errMsg = String.format("Actual URL page: '%s'. Expected URL page: '%s'",
this.driver.getCurrentUrl(), exedctedURL);
throw new Exception(errMsg);
}

答案 4 :(得分:0)

您可以这样做。

布尔结果= webdriver.findElement(By.cssSelector(“ BODY”))。getText()。matches(“ ^ [\ s \ S] xxxxxx [\ s \ S] $” ) Assert.assertTrue(result);