当前位置: 首页 > 知识库问答 >
问题:

Selenium C#范围报告未在指定文件夹中生成超文本标记语言文件

冀永寿
2023-03-14

我试图使用Extent报告(版本=“3.1.3”)为Selenium Webdriver C#生成HTML格式的报告,但在成功执行测试脚本后,我无法在指定的文件夹中看到HTML文件。

如果你能帮我找出问题所在并为这个问题提供解决方案,那就太好了。

提前感谢。

请在下面找到代码片段。

namespace Selenium_Demo_01
 {
[TestFixture]
public class Demo01
{
    IWebDriver driver;
    Program dataDriven = new Program();

    public ExtentReports extent;
    public ExtentTest test;

    [OneTimeSetUp]
    public void ClassSetup()
    {
        var reportPath = new ExtentHtmlReporter(@"I:\Selenium\VS Project 
                                            files\Selenium_Demo_01\
                                                       Selenium_Demo_01\Reports\Demo_Report_01.html");

        extent = new ExtentReports();
        extent.AttachReporter(reportPath);
    }

    [Test]
    public void test_D365Login()
    {
        test = extent.CreateTest("test_D365Login");

        string webTitle, webTitle1;

        //Get web page Title
        driver.Url = appURL;
        webTitle = driver.Title;
        System.Console.WriteLine(webTitle);

        Assert.AreEqual(title1, webTitle);
        test.Pass("Assertion passed");

        //Get web page Title
        webTitle1 = driver.Title;
        System.Console.WriteLine(webTitle1);

        Assert.AreEqual(title2, webTitle1);
        test.Pass("Assertion passed");
    }

    [TearDown]
    public void closeBrowser()
    {
        var status = TestContext.CurrentContext.Result.Outcome.Status;
        var stacktrace = string.IsNullOrEmpty(TestContext.CurrentContext.Result.StackTrace)
                ? ""
                : string.Format("{0}", 
                       TestContext.CurrentContext.Result.StackTrace);
        Status logstatus;

        switch (status)
        {
            case TestStatus.Failed:
                logstatus = Status.Fail;
                break;
            case TestStatus.Inconclusive:
                logstatus = Status.Warning;
                break;
            case TestStatus.Skipped:
                logstatus = Status.Skip;
                break;
            default:
                logstatus = Status.Pass;
                break;
        }

        test.Log(logstatus, "Test ended with " + logstatus + stacktrace);
        extent.RemoveTest(test);
        extent.Flush();
        driver.Close();
    }

}

扩展配置. 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>Automation testing</documentTitle>

    <chartVisibilityOnOpen>true</chartVisibilityOnOpen>

    <!-- report name - displayed at top-nav -->
    <reportName>Automation Report - Shashank R</reportName>

    <!-- location of charts in the test view -->
    <!-- top, bottom -->
    <testViewChartLocation>bottom</testViewChartLocation>

    <!-- custom javascript -->
    <scripts>
        <![CDATA[
            $(document).ready(function() {

            });
        ]]>
    </scripts>

    <!-- custom styles -->
    <styles>
        <![CDATA[

        ]]>
    </styles>
</configuration>

共有3个答案

龚振
2023-03-14

您已经在HTML对象中加载了扩展配置文件位置。

reportPath.LoadConfig("Extent-config.xml")
尉迟冯浩
2023-03-14

请在下面查找代码段:

[TestFixture]
class Demo
{
    public ExtentReports extent;
    public ExtentTest test;

    [SetUp]
    public void TestSetup()
    {
        var reportPath = new ExtentHtmlReporter
            (@"C:\Users\Administrator\Documents\visual studio 2015\Projects\Selenium_D365\Selenium_D365\eReports\Demo_Report_01.html");
        //var reportLocation = "./Reports/" + "TestReport.html";
        //var reportPath = new ExtentHtmlReporter(reportLocation);
        extent = new ExtentReports();
        extent.AttachReporter(reportPath);
    }

    [Test]
    public void test_D365Login()
    {
        test = extent.CreateTest("test_D365Login");

        Assert.IsTrue(true);
        test.Pass("Assertion passed");
    }

    [TearDown]
    public void TestCleanup()
    {
        var status = TestContext.CurrentContext.Result.Outcome.Status;
        var stacktrace = string.IsNullOrEmpty(TestContext.CurrentContext.Result.StackTrace);
        Status logstatus = Status.Pass;

        test.Log(logstatus, "Test ended with " + status + stacktrace);

        extent.RemoveTest(test);
        extent.Flush();
    }
}
江凯风
2023-03-14

请按照步骤检查报告是否正在生成,确保您的测试执行正确完成,并且extent.fluch()被调用。否则,无法生成范围报告。

>

  • 在名为“电子报告”的项目工作区中创建文件夹
  • 创建变量名称为报告位置 = “./eReport/” “测试报告.html”;
  • 传递报表位置变量到扩展块HTMl报告方法,

    var reportPath = new ExtentHtmlReporter(reportLocation);

    你可以进一步检查,它是否生成。

    您可以尝试使用他们的官方文档中的基本示例,http://extentreports.com/docs/versions/3/net/#examples

  •  类似资料:
    • 我试图通过Jenkins生成超文本标记语言报告(量角器测试),但它说错误:指定的超文本标记语言目录'x/y/z/Report'不存在。我需要在詹金斯配置上做什么,请帮助。 *路径是正确的,但它不能在从服务器上生成“报告”文件夹。我用的是-"量角器-HTML-截图-记者"

    • 我们有一个基于Java的系统,它从数据库中读取数据,用预设的标记合并单个数据字段,并用将结果转换为。 在格式中,它看起来像这样: 现在我正在寻找一种方法来允许一些字段包含静态超文本标记语言格式的内容。此内容将由我们启用超文本标记语言的编辑器(类似、等的东西)生成或从外部粘贴。 我的计划是遵循这篇JavaWorld文章的配方: < li >使用< code>JTidy将HTML格式的字符串转换为正确

    • 我正在使用ITextRenderer从html生成PDF。然而,我得到以下异常: 你能帮帮我吗? 任何帮助都将不胜感激。 先谢谢你。

    • 我在visual studio C #中使用selenium处理ExtentReports,我运行了案例测试,但是报告文件。我在解决方案资源管理器中创建的报表文件夹中没有生成html。不知道问题出在哪里,我改了报告文件的路径去查,还是不生成。以下是我的代码: 和extent-config.xml:

    • 我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML:

    • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加