如何在android studio中使用appium为android应用程序生成通过/失败报告(使用Testng)

时间:2019-05-02 06:43:42

标签: android testng appium appium-android

我想使用 Appium (带有TestNG)中的 android-studio android应用生成通过/失败报告

>

关于可以与代码链接并在 android studio

中生成报告的第三方工具的任何想法

我尝试了扩展报告,但是它无法为应用程序提供报告,因为我看不到在那里创建的任何报告文件

2 个答案:

答案 0 :(得分:1)

似乎您配置错误。范围报告的旧版本和新版本有些不同。这是生成范围报告的示例。创建范围报告构建器

@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();
    }

然后使用类public class Base extends ExtentTestNGReportBuilder来运行ExtentReport

另一种方法是创建侦听器。扩展报告站点上提供了配置详细信息。

<suite name="Suite" parallel="false" thread-count="5" verbose="1">
    <listeners>
        <listener class-name="utils.listners.ExtentTestNGIReporterListener"> 
</listener>

答案 1 :(得分:0)

  1. 您的外部报告类应实现IReporter类。
  2. 在testNg xml运行程序中将外部报告类注册为侦听器。
  3. 再次验证您的输出文件路径 它应该工作!!!祝你好运:)!!!