如何获取当前测试夹具属性



我运行selenium测试,并创建了一个自定义的测试夹具属性,我将其应用于每个夹具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视图将是测试同一视图的测试的Dashboald\Index文件夹,因此测试组织非常严格。

我遇到了一个问题,有些测试不应该在某些浏览器中运行,比如IE。然而,大多数测试都需要运行。我想做的是为每个测试夹具

有没有任何方法可以在测试运行时获得测试夹具类型的值,这样我就可以执行以下操作(伪代码(…:

[Test]
public void Test()
{
if(testFixture typeof is InternetExplorerDriver)
{
Assert.Ignore("test not to be run in IE");
}
// all the test code
}

请尝试下面修改的代码。

[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");
}
}
}

最新更新