如何在报告中区分testsuite和testcase

时间:2015-08-13 22:54:48

标签: c# selenium nunit allure

将Selenium C#网络驱动程序与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套件属性并使用枚举器创建了一个c#类,但我如何调用它/ wire呢?我需要对我的测试类做出哪些更改?

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 个答案:

答案 0 :(得分:0)

  

我希望它说1个测试套件,2个测试套件。我该怎么做?

如果不添加套件或类似内容,您可以将Test个案例放在同一个TestFixture中,因为testsuite输出的内容是什么。您可以使用部分类来完成此操作,或者您可以简单地将这两个类混淆。但是,您的Suite解决方案是更好的选择。

  

我需要对我的测试类做出哪些更改?

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

请注意,NUnit 3的所有内容都已更改,Suite属性已消失。在重组测试用例之前,我无法在NUnit 3中看到任何你想做的事情。

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