Не может генерировать html размер файла Report selenium C #

Mohamed Amine Merzouk спросил: 28 апреля 2018 в 09:44 в: c#

Я работал с ExtentReports с селеном в Visual Studio C #, я запускал тесты case, но файл отчета .html не генерируется в папке отчета, которую я создал в обозревателе решений. Я не знаю, где проблема, я изменил путь к файлу отчета, чтобы проверить, и он все еще не сгенерирован. Вот мой код:

 using NUnit.Framework;
 using RelevantCodes.ExtentReports;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;namespace ExtentReportsDemo
{
[TestFixture]
public class BasicReport
{
    public ExtentReports extent;
    public ExtentTest test;    [OneTimeSetUp]
    public void StartReport()
    {
        string pth = 
           System.Reflection.Assembly.GetCallingAssembly().CodeBase;
        string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
        Console.WriteLine("actual" + actualPath);        string projectPath = new Uri(actualPath).LocalPath; // project path 
                                                    of your solution
        //Console.WriteLine("project" + projectPath);
        string reportPath = projectPath + "Reports\\testreport.html";
        Console.WriteLine("report" + reportPath);        // true if you want to append data to the report.  Replace existing 
        report with new report.  False to create new report each time
        extent = new ExtentReports(reportPath, false);
        extent.AddSystemInfo("Host Name", "MININT-F36S5EH")
            .AddSystemInfo("Environment", "QA")
            .AddSystemInfo("User Name", "testUser");        extent.LoadConfig(projectPath + "extent-config.xml");    }    [Test]
    public void DemoReportPass()
    {
        test = extent.StartTest("DemoReportPass");
        Assert.IsTrue(true);
        test.Log(LogStatus.Pass, "Assert Pass as consition is true");    }    [Test]
    public void DemoReportFail()
    {
        test = extent.StartTest("DemoReportPass");
        Assert.IsTrue(false);
        test.Log(LogStatus.Fail, "Assert Pass as condition is false");    }    [TearDown]
    public void GetResult()
    {
        var status = TestContext.CurrentContext.Result.Outcome.Status;
        var stackTrace = "<pre>" + 
  TestContext.CurrentContext.Result.StackTrace + "</pre>";
        var errorMessage = TestContext.CurrentContext.Result.Message;        if (status == NUnit.Framework.Interfaces.TestStatus.Failed)
        {
            test.Log(LogStatus.Fail, stackTrace + errorMessage);
        }
        extent.EndTest(test);    }    [OneTimeTearDown]
    public void EndReport()
    {
        extent.Flush();
        extent.Close();
    }    }}

и степень -config.xml:

 <?xml version="1.0" encoding="UTF-8"?>
 <extentreports>
<configuration>
<!-- report theme -->
<!-- standard, dark -->
<theme>standard</theme><!-- document encoding -->
<!-- defaults to UTF-8 -->
<encoding>UTF-8</encoding><!-- protocol for script and stylesheets -->
<!-- defaults to https -->
<protocol>https</protocol><!-- title of the document -->
<documentTitle>ExtentReports 2.0</documentTitle><!-- report name - displayed at top-nav -->
<reportName>Automation Report</reportName><!-- report headline - displayed at top-nav, after reportHeadline -->
<reportHeadline></reportHeadline><!-- global date format override -->
<!-- defaults to yyyy-MM-dd -->
<dateFormat>yyyy-MM-dd</dateFormat><!-- global time format override -->
<!-- defaults to HH:mm:ss -->
<timeFormat>HH:mm:ss</timeFormat><!-- custom javascript -->
<scripts>
  <![CDATA[
    $(document).ready(function() {     });
    ]]>
   </scripts>   <!-- custom styles -->
   <styles>
    <![CDATA[  ]]>
</styles>
</configuration>

1 ответ

Ishita Shah ответил: 28 апреля 2018 в 10:55

Попробуйте сначала по Static location, как на любом диске C: \ OR D: \ и проверьте его генераторы для него,

Если нет, проверьте с помощью Debugger, обновив вызов завершения отчета.

Кроме того, убедитесь, что ваш метод EndReport() вызывает вызов, в котором завершается отчет,

Если это так, попробуйте вызвать extent.EndTest(test); в EndReport(), чтобы вы могли проверить, является ли его вызов или нет.

Если отчет не вызывается для завершения, он не будет генерировать.

Mohamed Amine Merzouk ответил: 28 апреля 2018 в 01:48
да, я попытался поставить статический путь, и он не работает, и я даже подумал об отладке, чтобы проверить, где находится проблема, но я не могу отлаживать, потому что это библиотека классов, поэтому нет смысла выполнять ее.
Ishita Shah ответил: 28 апреля 2018 в 03:10
Если статический путь также не создает отчет, я думаю, что это может вызвать ложное свойство. ExtentReports (reportPath, false);
Ishita Shah ответил: 28 апреля 2018 в 03:10
Кроме того, я хотел бы предложить вам, использовать Extent Report 3
Mohamed Amine Merzouk ответил: 29 апреля 2018 в 08:24
если я перейду к версии 3, код должен измениться, ExtentReports не принимает параметр, extent.LoadConfig не распознается ..
Mohamed Amine Merzouk ответил: 29 апреля 2018 в 12:39
Как я уже сказал, когда я перехожу к версии 3, мне нужно изменить код, у вас есть программа, адаптированная к версии 3. Я так много пробовал, и она не работает, и проект, над которым я работаю, - это PerfSDK, проекта в папке Axis Microsft Dynamics.