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

How to get current test fixture attribute

我 运行 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 视图将是我测试的 Dashboard\Index 文件夹考的是同一个观点,所以考的组织很严格

我 运行 遇到一个问题,即在某些浏览器(例如 IE)中某些测试不应 运行。然而,大多数测试需要。我想做的是针对每个测试夹具

有什么方法可以在测试 运行 时获取测试夹具 typeof 值,以便我可以执行以下操作(伪代码)...:[=​​12=]

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