2017-05-09 27 views
0
class SurfaceMinMax 
     { 
    [Test TestCaseSource(typeof(ExcelDataParser),"SurfaceData")] 
      public void RechercherSurface(string min, string max) 
      { 
      } 
     } 

我使用TestCaseSource来运行我的测试,使用来自Excel文件的几组数据。在数据驱动框架中的Nunit多浏览器执行

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

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

我需要通过编码来手动设置驱动程序,而不是自动从[TestFixture]中取出安装的浏览器版本。

回答

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 
} 

希望这是清楚。如果您提供了更多关于为初始化浏览器所需的实际参数的信息,我可以编辑它。

+0

你的意思是实现另一个TestFixture类吗?这个想法是使用[TestFixture(“chrome”)]和[TestFixture(“firefox”)]之类的东西,然后在[SetUp]中根据值“chrome”或“firefox”初始化驱动程序。 –

+0

查看更新的答案。 – Charlie

+0

谢谢。它完美的工作! –

相关问题