Nunit在数据驱动框架中执行多浏览器

时间:2017-05-09 16:05:07

标签: selenium nunit

{{1}}

我正在使用TestCaseSource使用excel文件中的几组数据来运行我的测试。

如何在多个浏览器/版本中运行测试?

在类级别上使用一组[TestFixture(typeof(浏览器类型))]无法解决我的问题,因为我需要使用不同的浏览器和版本运行我的测试。

我需要手动设置驱动程序,而不是自动从[TestFixture]编码,这将仅采用已安装的浏览器版本。

1 个答案:

答案 0 :(得分:0)

NUnit TestFixtures不了解浏览器类型。它们适用于浏览器,因为您的代码使用浏览器类型来选择浏览器。您应该能够创建一个TestFixture,它接受您需要“手动”选择浏览器所需的任何参数,并将该“手动”代码放在OneTimeSetUp方法中。

我不知道你想如何编写代码来“手动”初始化浏览器,因为你没有在你的问题中说过。所以,举个例子,我假装你需要一个代表浏览器的字符串,一个版本和一个魔术int。

然后你会使用......

[TestFixture("firefox", "42.0", 12345)]
public class MyFixture
{
    public MyFixture(string browser, string version, int magic)
    {
        // Save the args in member fields or properties
    }

    [OneTimeSetUp]
    public MyOneTimeSetUp()
    {
        // Use the saved values to initialize the browser of choice
    }

    // Continue with whatever you already do in the fixture
}

希望说清楚。如果您提供有关初始化浏览器所需的实际参数的更多信息,我可以对此进行编辑。