【发布时间】:2019-09-20 15:38:54
【问题描述】:
我想在 Appium 中使用 android-studio 为 android 应用程序 生成通过/失败报告(使用 TestNG)
关于可以与代码链接并在android studio中生成报告的第3方工具的任何想法
我已经尝试过范围报告,但它没有为应用程序提供报告,因为我看不到那里创建的任何报告文件
【问题讨论】:
标签: android testng appium appium-android
我想在 Appium 中使用 android-studio 为 android 应用程序 生成通过/失败报告(使用 TestNG)
关于可以与代码链接并在android studio中生成报告的第3方工具的任何想法
我已经尝试过范围报告,但它没有为应用程序提供报告,因为我看不到那里创建的任何报告文件
【问题讨论】:
标签: android testng appium appium-android
IReporter 类。【讨论】:
好像你配置错了。范围报告旧版本和新版本有点不同。这是一个生成范围报告的示例。创建范围报告生成器
@BeforeSuite
@Parameters({"browser","URL","Env"})
public void beforeSuite(String browser,String URL,String Env) {
DateFormat formatter = new SimpleDateFormat("dd_MM_yyyy");
String today = formatter.format(date);
createDir = new CreateDirectories();
createDir.createFolderWithSpecificName(OUTPUT_FOLDER + today);
ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(OUTPUT_FOLDER + today +"/"+ FILE_NAME);
htmlReporter.config().setDocumentTitle("Test Report");
htmlReporter.config().setReportName("Regression Report");
htmlReporter.config().setTheme(Theme.DARK);
extent = new ExtentReports();
extent.attachReporter(htmlReporter);
extent.setSystemInfo("BROWSER" , browser);
extent.setSystemInfo("URL", URL);
extent.setSystemInfo("ENVIRONMENT" , "ENV");
}
@BeforeClass
public synchronized void beforeClass() {
ExtentTest parent = extent.createTest(getClass().getName());
parentTest.set(parent);
}
@BeforeMethod
public synchronized void beforeMethod(Method method) {
ExtentTest child = parentTest.get().createNode(method.getName());
test.set(child);
}
@AfterMethod
public synchronized void afterMethod(ITestResult result) {
StringBuilder inputArgs = new StringBuilder();
Object objects[] = result.getParameters();
for(Object obj : objects){
if(obj==null){
inputArgs.append(" ");
}else{
inputArgs.append(obj.toString());
}
inputArgs.append(" , ");
}
if (result.getStatus() == ITestResult.FAILURE)
test.get().fail(result.getThrowable()+ "Input Parameters : "+inputArgs.toString());
else if (result.getStatus() == ITestResult.SKIP)
test.get().skip(result.getThrowable() + "Input Parameters : "+inputArgs.toString());
else
test.get().pass( " Test Passed. Input parameters : " +inputArgs.toString());
extent.flush();
}
然后运行 ExtentReport 类 public class Base extends ExtentTestNGReportBuilder
另一种方法是创建监听器。范围报告站点上提供了配置详细信息。
<suite name="Suite" parallel="false" thread-count="5" verbose="1">
<listeners>
<listener class-name="utils.listners.ExtentTestNGIReporterListener">
</listener>
【讨论】: