2010-12-02 4 views
1

をSeleniumGridするウェブサイトのパラメータを渡すために、私は3つの異なる環境のDev、QA及びPRODに同じスクリプトを実行する必要があります。 セレンのグリッドで3種類のリモコンを起動しますが、どのようにそれらのインスタンスに異なるWebサイトのURLを渡すことができますか?私はDevサイトに1つのインスタンス、QAにはもう1つ、PRODにはもう1つのインスタンスが必要です。は、どのように私は<strong>C#の</strong>、<strong>MbUnitの</strong>と<strong>セレングリッド</strong>を使用していますインスタンス

答えて

0

これはTestNGを使用した例です。あなたのユニットテストファイル/スクリプトでは、あなたはこのようなものがあります:

:並行してそれらを実行するには

public class LoginTest { 
    private static final HUB_URL = "http://theGridHubServer/wd/hub"; 

    @Parameters({ "appUrl" }) 
    public void loginTest(@Optional("http://theTestServer/login/") final String appUrl) { 

    // ... create RemoteWebDriver object/connections/capabilities here and execute test 
} 

を、あなたはこのようになりますTestNGのXML設定ファイルを設定する必要がありますその後

<suite name="Login Test Suite" parallel="tests" verbose="1" thread-count="8"> 
    <test name="Dev"> 
     <parameter name="appUrl" value="http://theDevServer/login"></parameter> 
     <classes> 
      <class name="package.to.your.test.class.LoginTest" /> 
     </classes> 
    </test> 
     <test name="QA"> 
     <parameter name="appUrl" value="http://theTestServer/login"></parameter> 
     <classes> 
      <class name="package.to.your.test.class.LoginTest" /> 
     </classes> 
    </test> 
    </test> 
     <test name="Prod"> 
     <parameter name="appUrl" value="http://theProdServer/login"></parameter> 
     <classes> 
      <class name="package.to.your.test.class.LoginTest" /> 
     </classes> 
    </test> 
</suite> 

あなたはTestNGのテストとして、XMLファイルを実行し、あなたが定義したwebdriverをと一致する機能を備えた少なくとも3つのwebdriverをクライアント・ノードを持っていると仮定すると、これらの3つのテストは、その後送信されますハブに送信されます。テストノードごとに異なるURLを使用するクライアントノードと並行して実行されます。

希望すると便利です。

関連する問題

 関連する問題