有没有一种方法可以(轻松地)生成一个包含测试结果的HTML报告?我目前正在使用JUnit和Selenium来测试Web应用程序的UI。PS:鉴于项目结构,我不应该使用Ant:(
yyhrrdl81#
我发现上面的答案很有用,但不是真正的通用,它们都需要一些其他的主要构建系统,如Ant或Maven。我想用一个简单的一次性命令生成一个报告,我可以从任何地方调用(从构建,测试或只是我自己),所以我创建了junit2html,可以在这里找到:https://github.com/inorton/junit2html您可以通过执行以下操作来安装它:
pip install junit2html
字符串
nfg76nw02#
对于那些使用Maven构建工具的人来说,还有一个名为Surefire Report的插件。报告如下所示:Sample
8wigbo563#
如果你可以使用Ant,那么你只需要使用JUnitReport任务就可以了,具体如下:http://ant.apache.org/manual/Tasks/junitreport.html,但是你在问题中提到你不应该使用Ant。我相信这个任务只是将XML报告转换成HTML,所以使用任何一个XML处理器来生成类似的报告都是可行的。或者,您可以切换到使用TestNG(http://testng.org/doc/index.html),它与JUnit非常相似,但具有默认的HTML报告以及其他一些很酷的特性。
vtwuwzda4#
您可以通过ant轻松地完成此操作。
<project name="genTestReport" default="gen" basedir="."> <description> Generate the HTML report from JUnit XML files </description> <target name="gen"> <property name="genReportDir" location="${basedir}/unitTestReports"/> <delete dir="${genReportDir}"/> <mkdir dir="${genReportDir}"/> <junitreport todir="${basedir}/unitTestReports"> <fileset dir="${basedir}"> <include name="**/TEST-*.xml"/> </fileset> <report format="frames" todir="${genReportDir}/html"/> </junitreport> </target> </project>
字符串这将查找格式为TEST-*.xml的文件,并将报告生成到名为unitTestReports的文件夹中。要运行此命令(假设上面的文件名为buildTestReports.xml),请在终端中运行以下命令:
ant -buildfile buildTestReports.xml
型
0vvn1miw5#
Junit xml格式在Java/Maven/Ant word之外使用。Jenkins with http://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin是一个解决方案。对于一次性解决方案,我找到了这个工具:https://www.npmjs.com/package/junit-viewer第一个月--results=是xml文件(测试报告)目录
--results=
ru9i0ody6#
我找到了xunit-viewer,它已经被@daniel-kristof-kiss提到的junit-viewer弃用。它非常简单,自动递归地收集ANT Junit XML格式的所有相关文件,并创建一个具有过滤和其他功能的HTML文件。我用它来上传Travis构建的测试结果,因为Travis没有其他支持收集标准格式的测试结果输出。
xunit-viewer
junit-viewer
inkz8wg97#
有多种选项可用于为Selenium WebDriver脚本生成HTML报告。
1.使用JUNIT TestWatcher类创建您自己的Selenium HTML报告
TestWatcher JUNIT类允许重写在JUNIT测试失败或通过时自动调用的failed()和successed()JUNIT方法。TestWatcher JUNIT类允许覆盖以下方法:
failed()方法在测试失败时调用
finished()方法在测试方法完成时被调用(无论是通过还是失败)
skipped()方法在由于失败的假设而跳过测试时调用。
starting()方法在测试即将开始时调用
succeeded()方法在测试成功时调用请参见下面的示例代码:
import static org.junit.Assert.assertTrue; import org.junit.Test; public class TestClass2 extends WatchManClassConsole { @Test public void testScript1() { assertTrue(1 < 2); > } @Test public void testScript2() { assertTrue(1 > 2); } @Test public void testScript3() { assertTrue(1 < 2); } @Test public void testScript4() { assertTrue(1 > 2); } }
import org.junit.Rule; import org.junit.rules.TestRule; import org.junit.rules.TestWatcher; import org.junit.runner.Description; import org.junit.runners.model.Statement; public class WatchManClassConsole { @Rule public TestRule watchman = new TestWatcher() { @Override public Statement apply(Statement base, Description description) { return super.apply(base, description); } @Override protected void succeeded(Description description) { System.out.println(description.getDisplayName() + " " + "success!"); } @Override protected void failed(Throwable e, Description description) { System.out.println(description.getDisplayName() + " " + e.getClass().getSimpleName()); } }; }
2.使用Allure报告框架
Allure框架可以帮助您为Selenium WebDriver项目生成HTML报告。报告框架非常灵活,可以与许多编程语言和单元测试框架一起使用。您可以在https://allurereport.org/上阅读有关它的所有内容。您需要将以下依赖项和插件添加到pom.xml文件中
4zcjmb1e8#
我已经创建了一个JUnit解析器/查看器,可以直接在浏览器中运行。它支持转换为JSON,HTML报告可以很容易地重用。https://lotterfriends.github.io/online-junit-parser/如果你仍然缺少一个功能,请随时在Github上创建一个问题。
8条答案
按热度按时间yyhrrdl81#
我发现上面的答案很有用,但不是真正的通用,它们都需要一些其他的主要构建系统,如Ant或Maven。
我想用一个简单的一次性命令生成一个报告,我可以从任何地方调用(从构建,测试或只是我自己),所以我创建了junit2html,可以在这里找到:https://github.com/inorton/junit2html
您可以通过执行以下操作来安装它:
字符串
nfg76nw02#
对于那些使用Maven构建工具的人来说,还有一个名为Surefire Report的插件。
报告如下所示:Sample
8wigbo563#
如果你可以使用Ant,那么你只需要使用JUnitReport任务就可以了,具体如下:http://ant.apache.org/manual/Tasks/junitreport.html,但是你在问题中提到你不应该使用Ant。我相信这个任务只是将XML报告转换成HTML,所以使用任何一个XML处理器来生成类似的报告都是可行的。
或者,您可以切换到使用TestNG(http://testng.org/doc/index.html),它与JUnit非常相似,但具有默认的HTML报告以及其他一些很酷的特性。
vtwuwzda4#
您可以通过ant轻松地完成此操作。
字符串
这将查找格式为TEST-*.xml的文件,并将报告生成到名为unitTestReports的文件夹中。
要运行此命令(假设上面的文件名为buildTestReports.xml),请在终端中运行以下命令:
型
0vvn1miw5#
Junit xml格式在Java/Maven/Ant word之外使用。Jenkins with http://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin是一个解决方案。
对于一次性解决方案,我找到了这个工具:https://www.npmjs.com/package/junit-viewer
第一个月
--results=
是xml文件(测试报告)目录ru9i0ody6#
我找到了
xunit-viewer
,它已经被@daniel-kristof-kiss提到的junit-viewer
弃用。它非常简单,自动递归地收集ANT Junit XML格式的所有相关文件,并创建一个具有过滤和其他功能的HTML文件。
我用它来上传Travis构建的测试结果,因为Travis没有其他支持收集标准格式的测试结果输出。
inkz8wg97#
有多种选项可用于为Selenium WebDriver脚本生成HTML报告。
1.使用JUNIT TestWatcher类创建您自己的Selenium HTML报告
TestWatcher JUNIT类允许重写在JUNIT测试失败或通过时自动调用的failed()和successed()JUNIT方法。
TestWatcher JUNIT类允许覆盖以下方法:
failed()方法在测试失败时调用
finished()方法在测试方法完成时被调用(无论是通过还是失败)
skipped()方法在由于失败的假设而跳过测试时调用。
starting()方法在测试即将开始时调用
succeeded()方法在测试成功时调用
请参见下面的示例代码:
字符串
型
2.使用Allure报告框架
Allure框架可以帮助您为Selenium WebDriver项目生成HTML报告。
报告框架非常灵活,可以与许多编程语言和单元测试框架一起使用。
您可以在https://allurereport.org/上阅读有关它的所有内容。
您需要将以下依赖项和插件添加到pom.xml文件中
1.诱惑适配器
查看更多详细信息,包括本文中的代码示例:http://test-able.blogspot.com/2015/10/create-selenium-html-reports-with-allure-framework.html
4zcjmb1e8#
我已经创建了一个JUnit解析器/查看器,可以直接在浏览器中运行。它支持转换为JSON,HTML报告可以很容易地重用。
https://lotterfriends.github.io/online-junit-parser/
如果你仍然缺少一个功能,请随时在Github上创建一个问题。