我运行硒测试,并且创建了一个自定义的Test Fixture属性,每次使用一个新的驱动程序,我将其应用于每个灯具3次,因此我的测试可以在3个不同的浏览器中分别运行3次。看起来像这样:
[TestFixture(typeof(InternetExplorerDriver))]
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(ChromeDriver))]
class Edit<TWebDriver> : BaseTest<TWebDriver> where TWebDriver : IWebDriver, new()
{
[Test]
public void Test()
{
//test code
}
}
对于我的测试装置,我以1:1的比例镜像Web应用程序视图-因此,Web应用程序代码中的Dashboard \ Index视图将是我的测试相同视图的测试的Dashboard \ Index文件夹,因此测试组织非常严格。
我遇到了一个问题,即某些测试不应在某些浏览器(例如IE)上运行。但是大多数测试都需要。我要尝试的是针对每个测试夹具
有什么方法可以在测试运行时获取Test Fixture typeof值,所以我可以执行以下操作(伪代码)...:
[Test]
public void Test()
{
if(testFixture typeof is InternetExplorerDriver)
{
Assert.Ignore("test not to be run in IE");
}
// all the test code
}
答案 0 :(得分:1)
请尝试修改以下代码。
[TestFixture(typeof(InternetExplorerDriver))]
[TestFixture(typeof(FirefoxDriver))]
[TestFixture(typeof(ChromeDriver))]
class Edit<TWebDriver> : BaseTest<TWebDriver> where TWebDriver : IWebDriver, new()
{
private TWebDriver webDriver;
public Edit(TWebDriver webDriver)
{
this.webDriver = webDriver;
}
[Test]
public void Test()
{
//test code
if (this.webDriver.GetType() == typeof(InternetExplorerDriver))
{
Assert.Ignore("test not to be run in IE");
}
}
}