2011-12-07 7 views
0

グリッドを初めて使用しています.Selenium RCでグリッド2をセットアップしようとしています。through Java-TestNGを使用してセレンRCにグリッド2を設定する方法

私はselenium-server-standalone-2.1.0.jarをダウンロードしました。また、私はTestNGのテストケースを持っています。

は、そして私のようなテストXMLを持っている:

<suite thread-count="1" name="Suite" parallel="tests" verbose="10"><!-- tests --> 
     <test name="FFTest" preserve-order="true"> 
     <parameter name="selenium.host" value="localhost"></parameter> 
     <parameter name="selenium.port" value="5569"></parameter> 
     <parameter name="selenium.browser" value="*firefox"></parameter> 
     <parameter name="selenium.url" value="http://www.google.com"></parameter> 
     <classes> 

      <class name="EmployeeHealth.TestScripts.EmployeeHealthRegressionSuite"> 
       <methods> 
        <include name="InitScript"></include> 
        <include name="SelectAvoidableAdmissionModule"></include> 
        </methods> 
      </class> 


     </classes> 
    </test> 
<test name="IETest" preserve-order="true"> 
    <parameter name="selenium.host" value="localhost"></parameter> 
    <parameter name="selenium.port" value="5579"></parameter> 
    <parameter name="selenium.browser" value="*iehta"></parameter> 
    <parameter name="selenium.url" value="http://www.google.com"></parameter> 
    <classes> 

     <class name="EmployeeHealth.TestScripts.EmployeeHealthRegressionSuite"> 
      <methods> 
       <include name="InitScript"></include> 
       <include name="SelectAvoidableAdmissionModule"></include> 
       </methods> 
     </class> 


    </classes> 
</test> 
</suite>  

そして私は、以下の手順に従っ:

スタートハブ:

 java -jar selenium-server-standalone-2.5.0.jar -role RC -hub http://localhost:4444/grid/register -browser browserName=firefox,platform=WINDOWS -port 5579 
Firefoxの

をサポート

 java -jar selenium-server-standalone-2.5.0.jar -role hub 

スタートリモコン

スタート別のRC支援するインターネットアムのようなセレンオブジェクトの作成、

 java -jar selenium-server-standalone-2.5.0.jar -role RC -hub http://localhost:4444/grid/register -browser browserName=iexplore,platform=WINDOWS -port 5556. 

そして、私のSetUp.javaファイル内を探索:xmlファイルを実行していたときに、テストがあり、この方法により、

 selenium = new DefaultSelenium(host,Integer.parseInt(port), 
         browser, url); 


       if (browser.equalsIgnoreCase("*chrome")) { 
        RemoteControlConfiguration rcc = new RemoteControlConfiguration(); 
        rcc.setFirefoxProfileTemplate(new File(
          "test\\Resources\\ThirdParty\\FirefoxProfile\\")); 
        seleniumServer = new SeleniumServer(rcc); 

       } else { 
        RemoteControlConfiguration rcc = new RemoteControlConfiguration(); 
        rcc.setFirefoxProfileTemplate(new File("Object Repository\\SSL")); 
          //"src\\Script\\lib\\ThirdParty\\FirefoxProfile\\"));C:\\Biju\\NewFrameworkStrcuture\\Framework\\ABC_JSAF\\ 

        seleniumServer = new SeleniumServer(rcc); 
        RemoteControlConfiguration a= seleniumServer.getConfiguration(); 
        File uimap=new File("src\\Script\\lib\\user-extensions.js"); 
        a.setUserExtensions(uimap); 
        //seleniumServer = new SeleniumServer(); 
       } 
       //seleniumServer.start(); 
       selenium.start(); 
       selenium.windowMaximize(); 
       selenium.windowFocus(); 

を順番に実行しています(最初のFirefox、次にIE)。しかし、並行してではありません。

はまた、私は

@Test(dataProvider="CommonTestData",threadPoolSize = 3) 

よう@Testパラメータを与えてみました。しかし、私はseqenceの変更を参照してくださいいけません。

はなぜこれが起こっているいずれかを持っていますか?...

はあなたの助けのために感謝しています。


A、Thanks for the reply。

私はXMLスイートで変更を行い、dataprovider関数を "parallel = true"として作成し、Invokation関数 "TestCount = 2"を追加し、ノードを設定して1 IEと1 FF並列。

しかし、問題は、1つのブラウザ(IEと言う)でテストケースが完全に実行されていることです。しかし、他のブラウザ(FF)では、ブラウザを起動した後、私のURLを開くことさえできません。コンソールで、エラーが発生しました: "失敗した設定:@BeforeClass Seleniumstart (" localhost "、" 5569 "、" * firefox "、" http://www.google.com ") com.thoughtworks.selenium.SeleniumException:エラーサーバー例外:sessionIdはbe
null;このセッションはまだ開始されていますか? これについてのご意見は?

答えて

1

dataproviderを使用している場合は、パラレルで呼び出す必要があるかどうかについても言及する必要があります。 CommonTestDataメソッドはparallel = trueオプションを持つ必要があります。

XMLを使用して実行するには、並列実行のスレッド数を1以上に増やす必要があります。

+0

異なるブラウザで実行しているうちに、1つのブラウザがtetsのケースを実行できるが、別のブラウザでエラーが発生する "FAILED CONFIGURATION:@BeforeClass Seleniumstart(" localhost "、" 5569 "、" * firefox "、" http:// www .google.com ")com.thoughtworks.selenium.SeleniumException:エラーサーバー例外:sessionIdは である必要はありません。このセッションはまだ開始されていますか? – bijumanvya

+0

さまざまなブラウザの値をテストにどのように渡していますか? –

0

あなたのFirefox XML設定がポート5569のノードにテストを送信しようとしているようです。しかし、実際のクライアント・ノード接続文字列では、ポート5579を使用するように割り当てています。また、IE設定で5579を使用しようとしたようですが、5556で開始されています。

関連する問題