0

一度に 3 つのブラウザー IE、Chrome、および Firefox で同じスクリプトを実行したい (つまり、並列)。Testng.xmlファイルで次のコードを使用しています

 <test name="RunTests-1">
    <parameter name="browser" value="firefox" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test>  
<test name="RunTests-2">
    <parameter name="browser" value="chrome" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test>
<test name="RunTests-3">
    <parameter name="browser" value="internet explorer" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test> 

TestNG を使用して実行している間、3 つのブラウザーを開いてスクリプトを実行しています。しかし、問題はスクリプトの実行中に、スクリプトでいくつかの操作 (テキスト フィールドにテキストを入力する、ボタンをクリックするなど) を 1 つのブラウザーで 2 回実行し、他のブラウザーではまったく実行しないことです。その理由として考えられることを教えてください。

4

1 に答える 1

3

変数をStatic. サーバー側の変数と見なされます。あなたの場合、3つのブラウザを起動したとき。single driver instance3 つのブラウザ セッションすべてに使用されます。そのためだけに、アクションは同じブラウザーで繰り返し実行されます。Static keywordこの問題を解決するには、Web ドライバー定義から を削除します。

例えば:

プライベート WebDriver ドライバー = null;

于 2013-02-12T12:34:06.157 に答える