出身背景
我正在使用Exent Report Cucumber Adapter,用于我的基于Cucumber的测试自动化框架,该框架使用在JUnit上运行的Java构建。我正在为测试条件使用AssertJ断言。
脚本
其中一个测试场景需要测试网页上的所有链接。我已经为其编写了代码,并且运行良好。我正在对try块下的测试条件使用AssertJ断言,并捕获SoftAssertionError,以便我的测试执行不会因为异常而停止,并继续验证所有剩余的链接,即使它发现任何损坏的链接。
报告提到了被发现断开的链接。然而,理想情况下,这一步应该失败,因为脚本发现了一些断开的链接。但报告将整个步骤标记为已通过,因此该场景也被标记为已通过。现在我不知道如何在扩展报告中将该步骤标记为失败,前提是找到了一些已断开的链接。请建议一种方法。为了更好地理解,我提供了一小段代码。
public void ValidateAllLinks(String linkURL) {
try
{
URL url = new URL(linkURL);
//Creating url connection and getting the response code
HttpURLConnection httpURLConnect=(HttpURLConnection)url.openConnection();
httpURLConnect.setConnectTimeout(5000);
httpURLConnect.connect();
try {
SoftAssertions softly = new SoftAssertions();
softly.assertThat(httpURLConnect.getResponseCode()).as("This is a broken link: " + linkURL).isGreaterThanOrEqualTo(400);
softly.assertAll();
}catch (SoftAssertionError e)
{
e.printStackTrace();
}
if(httpURLConnect.getResponseCode()>=400)
{
System.out.println(linkURL+" - "+httpURLConnect.getResponseMessage()+" is a broken link.");
ExtentCucumberAdapter.addTestStepLog("<b>" + "<font color=" + "red>" + linkURL+" - "+httpURLConnect.getResponseMessage()+" is a broken link." + "</font>" + "</b>");
}
//Fetching and Printing the response code obtained
else{
System.out.println(linkURL+" - "+httpURLConnect.getResponseMessage()+" is working as expected.");
}
}catch (Exception e) {
}
}
您的示例不适合软断言,因为您只测试一件事。软断言意味着断言一系列的东西,一旦你断言了所有你想要的东西,你就调用assertAll()
。
我不明白你为什么要测试两次httpURLConnect.getResponse seCode()
你可以做一次,添加测试步骤日志,然后使用失败()
方法调用测试失败(无论是来自AssertJ还是JUnit)
我在单元测试用例中使用Mockito和Power Mockito。当我运行配置文件代码时,我能够生成jacoco报告,但是 当我在测试阶段试图生成Jacoco报告时,我遇到了错误 错误[错误]无法执行目标组织。jacoco:jacoco maven插件:0.8.2:project testproject api上的报告(默认报告):生成jacoco报告时出错:创建报告时出错:分析d:\worksp
我有一个有多个方法的TestNG测试。范围报告在主类中有效,但当我尝试为其他方法编写日志时,我得到了空指针异常。所有教程都指向在主方法中编写日志,但没有指向其他方法。我已经努力寻找解决方案一个星期了。有人能帮我吗?谢谢 我的代码是这样的 以下内容写在主测试中 我的完整代码在这里
我正在使用selenium webdriver和java自动化一个网站,我想在excel工作表中写入结果“通过”或“失败”。如何通过从excel工作表中获取状态来自动报告JIRA中失败的测试用例。
22.13.7.测试报告 测试任务默认生成以下结果. 一份HTML测试报告 一个与Ant的JUnit测试报告任务兼容的XML.这个格式与许多其他服务兼容,如CI serves 结果是有效的二进制,测试任务会从这些二进制结果生成其他结果。 有一个独立的TestReport任务类型会根据一些Test任务实例生成的二进制源码生成一个HTML报告.使用这种测试类型,需要定义一个destinationDir
当运行单元测试的时候,Gradle 会输出一份 HTML 格式的报告以方便查看结果。Android plugin 则将所有连接设备的测试报告都合并到一个 HTML 格式的报告文件中。所有测试结果都以 XML 文件形式保存到 build/reports/androidTests/ 中(类似于 JUnit 的运行结果保存在 build/reports/tests 中)。可以自定义路径: android