Столкнувшиеся проблемы в отчете экстентов, журналах и тестовом файле - PullRequest
0 голосов
/ 21 января 2020

Я работаю над приложением, которое требует двух браузеров одновременно, поэтому мой код запускает два браузера одновременно Chrome и FF, выполняет некоторые тестовые примеры на chrome и некоторые на FF параллельно - когда я выполняю свой код через исполняемые файлы , Он прекрасно работает и генерирует отчеты о степени для всех мастей отдельно. Сейчас я пытаюсь выполнить свой проект через testng. xml (см. Ниже), который содержит более одной масти, я вижу проблемы с этим следующим образом; 1. Каждый тестовый случай отображается дважды в журналах, но один раз в отчете по экстентам. 2. Один отчет по экстентам, сгенерированный для двух мастей, поскольку я хочу создать один отчет для каждой масти

testng. xml

    <test name="Some Workflow Tests 1"  thread-count="5" parallel="none">
        <classes>
            <class name="Master.Websites"/>
        </classes>
    </test>


    <test name="Some Workflow Tests 2"  thread-count="5" parallel="none">
        <classes>
            <class name="Master.CompanyStore"/>
        </classes>
    </test>

Пожалуйста, смотрите код отчета экстента ниже ;

@ AfterMethod

    public void getResult(ITestResult result ) throws IOException, InterruptedException{
    /*
         System.out.println("Get Status "+ result.getStatus());
         System.out.println("Get Method with className "+ result.getMethod());
         System.out.println("Get TC Name "+ result.getName());
         System.out.println("Get test calsss Name "+ result.getTestClass());
         System.out.println("Get Test Name"+ result.getTestName());
         System.out.println("Get Method Name"+ result.isSuccess());
    */
         test = extent.createTest(result.getName());

        if(result.getStatus()==ITestResult.SUCCESS){
            test.log(Status.PASS, result.getMethod().getDescription());
            test.log(Status.PASS, MarkupHelper.createLabel(result.getName() + " Test Case is Passed", ExtentColor.GREEN));
            test.log(Status.PASS, " Please see attached screenshot");
            String screenshotPath = HelpingFunction.capture(result.getName());
            test.addScreenCaptureFromPath(screenshotPath);

            extent.flush();
            }


        if(result.getStatus()==ITestResult.FAILURE){

            test.log(Status.FAIL, MarkupHelper.createLabel(result.getName() + "Test Case is Failed due to Below Issue", ExtentColor.RED));
    /*
     * String screenshotPath = HelpingFunction.capture(result.getName());
     * test.addScreenCaptureFromPath(screenshotPath);
     */
            test.fail(result.getThrowable());
            extent.flush();
            }


        if(result.getStatus()==ITestResult.SKIP){
            System.out.print("Test cases is skipped");
             test.log(Status.SKIP, MarkupHelper.createLabel(result.getName() + "Test Case is SKIPPED", ExtentColor.YELLOW));
             test.skip(result.getThrowable());
            }                       

     }


        @AfterTest
        public void endReport(){
        driver.close();
        //extent.flush();

        //driver.get(System.getProperty("user.dir")+"/Reports/"+Suite);
        }

ниже код для конфигурации отчета экстента ;

public static void Property(String Suite, String RName) throws InterruptedException, AWTException, IOException{

                try {
                    ExtentHtmlReporter htmlReporter;
                    htmlReporter = new ExtentHtmlReporter("./Reports/"+Suite);

                    extent = new ExtentReports();
                    extent.attachReporter(htmlReporter);
                    extent.setSystemInfo("HostName", "Iftikhar");
                    extent.setSystemInfo("Environment", "QA");
                    extent.setSystemInfo("UserName", "Muhammad Iftikhar");
                    extent.setSystemInfo("URL", envirnment);
            //      extent.setReportUsesManualConfiguration(true);
                    htmlReporter.config().setDocumentTitle("Automation Testing Report");
                    htmlReporter.config().setReportName("Sep Report");
                    htmlReporter.config().setTestViewChartLocation(ChartLocation.TOP);
                    htmlReporter.config().setTheme(Theme.DARK);
                    htmlReporter.getStartTime();
                    htmlReporter.getEndTime();

                } 
                catch (IndexOutOfBoundsException e) {
                    System.err.println("IndexOutOfBoundsException: " + e.getMessage());
                    }

                }

Ниже приведены скриншоты журналов и отчета экстента

This is how I am seeing the test cases

This is how I am seeing the extent report

Я работаю над этим вопросом уже много дней, но все еще безуспешно. Просьба ко всем за помощь. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...