如何在报告中区分测试套件和测试用例

本文关键字:测试 套件 测试用例 中区 报告 | 更新日期: 2023-09-27 18:07:47

使用Selenium c# web驱动程序与NUnit进行自动化。我正在使用命令行生成诱惑力报告,我的报告创建得非常好,但我需要以下问题的帮助:我有以下结构使用页面对象模型(2个测试和1页)。现在,当我看到报告时,它显示在顶部的测试运行(2个测试套件,2个测试用例),每个测试用例都是一个测试套件。我想说1个测试套件,2个测试用例。我怎么做呢?

namespace ApplicationName.TestCases
{
    [TestFixture]
    class VerifyCreateOrder
    {
        IWebDriver driver;
        [SetUp]
        public void Initialize()
        {
            driver = new FirefoxDriver();
        }
        [TestCase]
        public void doCreateOrder()
        {
            LoginPage loginPage = new LoginPage();
            //some Assertion
         }
    }
}

namespace ApplicationName.TestCases
{
    [TestFixture]
    class SearchOrder
    {
        IWebDriver driver;
        [SetUp]
        public void Initialize()
        {
            driver = new FirefoxDriver();
        }
        [TestCase]
        public void doSearchOrder()
        {
            LoginPage loginPage = new LoginPage();
            //some Assertion
         }
    }
}

下面是我的LoginPage Page对象:

namespace ApplicationName.Pages
{
    class LoginPage
    {
        public void doLogin(IWebDriver driver, String username, String password)
        {
            driver.Navigate().GoToUrl("http://www.myxyzsite.com");
            driver.FindElement(By.Id("xyz")).SendKeys(username);
            driver.FindElement(By.Id("xyz")).SendKeys(password); 
            driver.FindElement(By.Id("xyz")).Click(); 
        }
    }
}

我读了关于NUnit套件属性在http://www.nunit.org/index.php?p=suite&r=2.5.5和创建了一个c#类与所描述的枚举器,但我如何调用它/连接它?我需要为我的测试类做什么更改?

namespace NUnit.Tests
{
    public class MyTestSuite
    {
        [Suite]
        public static IEnumerable Suite
        {
            get
            {
                ArrayList suite = new ArrayList();
                suite.Add(new VerifyCreateOrder());
                suite.Add(new SearchOrder());
                return suite;
            }
        }
    }
}

如何在报告中区分测试套件和测试用例

我想让它说1个测试套件,2个测试用例。我怎么做呢?

在不添加Suite或类似的情况下,您可以将两个Test案例放入相同的TestFixture中,因为这就是testsuite输出的构建来源。您可以使用分部类来做到这一点,或者您可以简单地合并这两个类。但是,您的Suite溶液是更好的选择。

我需要为我的测试类做什么更改?

使用选项/fixture:NUnit.Tests.MyTestSuite调用NUnit。


注意,所有这些都在NUnit 3中改变了,Suite属性消失了。如果不重新组织你的测试用例,我看不出有什么方法可以在NUnit 3中做你想做的事情。

如果将测试合并到套件中非常重要,则可以使用XSLT。NUnit测试结果模式非常简单,使用XSLT很容易操作。