我是jUnit和Selenium的新手.目前,我们正在我们的项目中进行POC评估工具的适用性.
我们的一个关键要求是在断言失败的情况下使用友好消息并验证失败.目标是通过手动测试人员对这些用户进行直观分析.
我正在尝试使用SLF4J来记录用户友好消息的INFO消息.
我面临的挑战是 - 当断言失败时,如何传递自定义消息而不是jUnit默认消息?
例如,我想摆脱以下默认断言失败消息
预期"健康AZ"匹配glob"Health A-ZZ"(已将glob变为regexp"Health A-ZZ")
并将其框定为
菜单项的标题与预期值"Health A-ZZ"不匹配.看到的实际价值是"健康AZ"
问题1 - 有没有办法用我想要的方式覆盖默认消息?问题2 - 我可以将变量参数传递给消息并使其成为动态消息吗?
示例代码:
try {
assertEquals("Health A-ZZ", selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
logger.info("SUCCESS: Menu Item {} title verification Passed. EXPECTED : A-Z and Actual: {}",mainCounter, selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
}
catch (AssertionError e) {
logger.error("FAILURE: Menu Item {} title verification Failed. EXPECTED : A-ZZ and Actual: {}",mainCounter, selenium.getText("//div[@id='topnav']/ul/li[2]/a"));
}
Run Code Online (Sandbox Code Playgroud)
我得到两次打印的assertFailure消息..一个在上面的catch块中有错误消息,另一个是默认的junit assertfailre消息,就像我上面提到的那个我想要摆脱的消息.
提前致谢.
此致,普拉卡什