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

私は、TestCaseSourceを使用して、Excelファイルから複数のデータセットを使用してテストを実行しています。データ駆動型フレームワークでのNunitマルチブラウザ実行

複数のブラウザ/バージョンでテストを実行するにはどうすればよいですか?

[TestFixture(type of(browser type))]をクラスレベルで使用すると、異なるブラウザとバージョンでテストを実行する必要があるため、私の問題は解決しません。

[TestFixture]から自動的にドライバを設定する必要があります。これは、インストールされているブラウザのバージョンのみを使用します。

答えて

0

NUnit TestFixturesはブラウザの種類を無視しています。コードはブラウザの種類を使用してブラウザを選択するため、ブラウザで動作します。ブラウザを "手動で"選択し、その "手動"コードをOneTimeSetUpメソッドに入れるだけで、必要な引数を取るTestFixtureを作成できるはずです。

あなたがあなたの質問に言わなかったので、ブラウザを「手動で」初期化するコードをどのように書きたいのかわかりません。したがって、例を挙げると、ブラウザ、バージョン、および魔法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")]のようなものを使用し、[chrome]または "firefox"の値に応じて[SetUp]でドライバを初期化することです。 –

+0

更新された回答を参照してください。 – Charlie

+0

ありがとうございます。それは完全に動作します! –

関連する問題