摘要:本文带你了解测试工具之Extentreports报告插件与TestNG集成,希望对大家学测试工具有所帮助。
用这个插件来生成测试报告,发现生成的报告非常不错。就下来学习了一下,并集成到了testng上,下面来分享一下:
ExtentReports (by Anshoo Arora) is a HTML reporting library for .NET and Java which is extremely easy to use and creates beautiful execution reports. It shows test and step summary, test steps and status in a toggle view for quick analysis。(ExtentReports是一个可以非常容易用.net或者java来生成的一个漂亮的报告,用来显示我们的测试中步骤、摘要、状态以便用来分析)
先让大家看下报告样式:
是不是很漂亮,其中的还有帅选功能。以及其他的一些信息。
我的工程是maven项目,所以可以直接引入依赖,不能引入的,请自行下载,下载地址://extentreports.relevantcodes.com
maven工程中pom.xml加入一下依赖
<dependency> <groupId>com.relevantcodes</groupId> <artifactId>extentreports</artifactId> <version>2.40.2</version> </dependency>
首先在testng @beforesuits中初始化一些ExtentReports,其中配置了报告的生成路径,以及一些其他一些信息,这里为了在监听中调用extent 我在这里写了一个get方法
private static String reportLocation = "report/ExtentReport.html"; protected static ExtentReports extent; @BeforeSuite public static void befores(){ extent = new ExtentReports(reportLocation, true); extent.startReporter(ReporterType.DB, reportLocation); extent.addSystemInfo("Host Name", "Lining"); } @AfterSuite public static void afters(){ extent.close(); } public static ExtentReports getextent(){ return extent; }
重写testng监听:
import org.apache.log4j.Logger; import org.testng.ITestContext; import org.testng.ITestResult; import org.testng.TestListenerAdapter; import seleniumstudy.testcase.InitDriverCase; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class TestngListener extends TestListenerAdapter { private Logger logger = Logger.getLogger(TestngListener.class); protected ExtentReports extent; protected ExtentTest test; @Override public void onTestStart(ITestResult tr) { super.onTestStart(tr); logger.info("【" + tr.getName() + " Start】"); extent=InitDriverCase.getextent();
test= extent.startTest(tr.getName()); } @Override public void onTestFailure(ITestResult tr) { super.onTestFailure(tr); logger.info("【" + tr.getName() + " Failure】"); test.log(LogStatus.FAIL, tr.getThrowable()); extent.endTest(test); } @Override public void onTestSkipped(ITestResult tr) { super.onTestSkipped(tr); logger.info("【" + tr.getName() + " Skipped】"); test.log(LogStatus.SKIP, "SKIP"); extent.endTest(test); } @Override public void onTestSuccess(ITestResult tr) { super.onTestSuccess(tr); logger.info("【" + tr.getName() + " Success】"); test.log(LogStatus.PASS, "Pass"); extent.endTest(test);
} @Override public void onFinish(ITestContext testContext) { super.onFinish(testContext); } }
ok,已经完毕,我们的测试用例,还按以前的testng方式书写就可以了
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号