2

使用 Selenium C# Web 驱动程序和 NUnit 实现自动化。我正在使用命令行生成 Allure 报告,并且我的报告创建得非常好,但我需要以下问题的帮助:我使用 Page 对象模型(2 Test 和 1 Page)具有以下结构。现在,当我看到它显示在顶部测试运行(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(); 

        }
    }
}

我在http://www.nunit.org/index.php?p=suite&r=2.5.5阅读了有关 NUnit 套件属性的信息,并按照描述创建了带有枚举器的 ac# 类,但我如何调用它/连接它?我需要对我的测试课程进行哪些更改?

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;
            }
        }

    }
}
4

1 回答 1

0

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

在不添加 Suite 或类似的情况下,您可以将两种Test情况放在相同的TestFixture中,因为这testsuite是构建输出的内容。您可以使用部分类来做到这一点,或者您可以简单地将这两个类混为一谈。但是,您的Suite解决方案是更好的选择。

我需要对我的测试课程进行哪些更改?

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


请注意,所有这一切都随着NUnit 3发生了变化,并且该Suite属性消失了。除了重新组织你的测试用例之外,我看不到任何方法可以在 NUnit 3 中做你想做的事情。

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

于 2015-12-21T22:55:03.377 回答