2017-05-09 55 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

謝謝。它完美的工作! –

相關問題