Selenium 网络驱动程序断言网络元素包含文本并显示实际与预期

Selenium web driver assert webelement contains text and display actual vs expected

我有一个演示 selenium 黄瓜项目,它只是在 google 搜索框中运行一些数学表达式并验证结果。

我希望报告显示失败时的实际值与预期值。

我将返回的文本存储为带有 ..

的字符串
String resultText = driver.findElement(By.cssSelector("div[class='dDoNo vrBOv vk_bk']")).getText();

然后根据预期断言从我的功能文件中传递的...

assertTrue(resultText.equals(expectedResult));

但报告显示...

java.lang.AssertionError: expected [true] but found [false]

我希望它显示实际预期结果与实际结果,即

java.lang.AssertionError: expected [200] but found [201]

我也试过了...

Assert.assertEquals(expectedResult, resultText);

我正在使用...org.testng.Assert

谢谢

通过断言,您可以使用自定义的错误文本。像这样:

Assert.assertEquals(resultText, expectedResult, "Expected: " + expectedResult + " but found " + resultText);

或者这个

Assert.assertTrue(expectedResult.equals(resultText), "Expected: " + expectedResult + " but found " + resultText);

在 non-equal 参数的情况下,它会为您呈现第一种情况的输出:

java.lang.AssertionError: Expected: expectedResult but found resultText
Expected :expectedResult
Actual :resultText

对于第二种情况:

java.lang.AssertionError: Expected: expectedResult but found resultText
Expected :true
Actual :false