4

NUnit v3 を使用して、[Parallelizable(ParallelScope.Fixtures)] を 2 つの個別の [TestFixtures] に追加しました。

プラスはそれらが実行されること、マイナスはそれらが並行して実行されないことです。コードに注意する必要がある構文がありませんか? 私が調べたところ、現在アルファ版で、Fixture 内のテストではなく、TestFixtures の並列実行をサポートしています。

ただし、テストが並行して実行されていることがわかりません。私のターゲットはSauce Labsです。

[TestFixture, Description("IE10, Launch url, verify elements, log in, verify landing page")]

//will run test fixtures in parallel

[Parallelizable(ParallelScope.Fixtures)]

//second series of tests to run in parallel
[TestFixture, Description("IE9, Launch url, verify elements, log in, verify landing page")]

//will run test fixtures in parallel

[Parallelizable(ParallelScope.Fixtures)]

各テストは直線的に実行され、成功します。私の目的のために TestFixture レベルで実行すると機能します。しかし、ここにはコンセプトが欠けているように感じます。

なぜこれが機能しないのかを理解するのに役立つどんな助けも素晴らしいでしょう。

レンありがとう

4

2 に答える 2

1

あなたの 2 つの TestFixtures は同じことをしていますか? 問題がある場合は、TestFixture クラスを 1 つだけにして、TestFixture 属性を 2 つにしてみてください。

[TestFixture("chrome", "WIN8")]
[TestFixture("firefox", "WIN8")]
[Parallelizable(ParallelScope.Fixtures)]
public class RDTestFixture
{
    public RDTestFixture(string browser, string os)
    {   
        DesiredCapabilities capability = new DesiredCapabilities();
        capability.SetCapability("browserName", browser);
        capability.SetCapability("platform", os);
        driver = new RemoteWebDriver(new Uri("http://10.168.88.131:4444/wd/hub/"), capability); //address of the GRID hub
        driver.Manage().Window.Maximize();
     }

これは、Sauce Labs とは対照的に、セレン グリッド上で直接実行され、両方が並行して実行されました。

于 2015-02-22T04:37:24.347 に答える
0

nunit-console を使用してセレン テストを並行して実行する方法を次に示します。

  • 最新の NUnit アセンブリを使用するようにテスト プロジェクトを更新
  • 古い属性を更新しました。ここで完全なリストを見つけることができます。
  • 並行して実行したい各クラスに次の行を追加しました。

    [TestFixture]
    [Parallelizable(ParallelScope.Fixtures)]
    
  • 次のコマンド ラインを使用して NUnit コンソールを実行します。

    nunit-console.exe C:\Path\My.Tests.dll --include=Selenium --result=TestResult.xml;format=nunit2 --workers=4
    
于 2015-03-17T22:21:40.310 に答える