2010-12-02 6 views
1

을 SeleniumGrid하는 웹 사이트 매개 변수를 전달하고 나는 3 개 가지 환경 데브, 품질 및 생산성에 대해 동일한 스크립트를 실행해야합니다. 셀레늄 그리드에서 3 가지 리모컨을 시작합니다.하지만 어떻게 다른 웹 사이트 URL을 해당 인스턴스로 전달할 수 있습니까? Dev 사이트에 한 인스턴스가 있어야하고, QA에는 다른 인스턴스가 있어야하고, PROD에는 다른 인스턴스가 필요합니다.는 어떻게 <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 일치하는 기능을 적어도 세 Webdriver 클라이언트 노드가 가정,이 세 가지 시험은 다음 보내드립니다 허브로 전송됩니다 테스트 노드는 클라이언트 노드와 병행하여 테스트 실행마다 다른 URL을 사용합니다.

희망이 도움이됩니다.