运行测试通过多个环境和浏览器与Nunit框架
问题描述:
我是新使用Nunit框架,所以我一直在努力研究如何做到这一点。运行测试通过多个环境和浏览器与Nunit框架
基本上,我有3个环境:开发,测试,PROD 每个环境具有不同的URL,例如:
- 开发:www.dev.com
- 测试:www.test.com
- PROD:www.prod.com
我想在其上运行的所有三种环境的测试案例,以及通过浏览器环路为Chrome,火狐,IE和边缘运行它们。
我已经制定了这样的电流通过代码每个浏览器来运行所有测试:(?)
[TestFixture(typeof(ChromeDriver))]
[TestFixture(typeof(InternetExplorerDriver))]
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(EdgeDriver))]
class IntegrationTests
{
Test.RunAll();
}
[TestFixture(typeof(ChromeDriver))]
[TestFixture(typeof(InternetExplorerDriver))]
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(EdgeDriver))]
class SmokeTests
{
Test.RunAll();
}
从我的理解,你可以再次超载TestFixtures,但我似乎无法找到任何关于它的语法。我似乎也无法找到某个人使用多个URL和浏览器循环的实例。任何和所有的帮助,非常感谢!
答
三个不同的URL乘四个浏览器会产生十二个不同的灯具实例。你可以通过指定TestFixtureAttribute
十二倍,而不是四个,与像条目...
C# [TestFixture(typeof(ChromDriver), "www.dev.com")]
更可能的,但是,你会希望有一个给定的试运行将重点放在无论是开发,测试或督促环境。
在这种情况下,将URL作为参数传递给运行。在控制台运行器中,您可以使用--params:siteurl=www.dev.com
等选项来执行此操作。您的测试将使用TestContext.Parameters
访问该值。