2017-12-06 14 views
0

서버의 허브와 함께 셀렌 그리드를 사용하고 있습니다. 디버깅을 쉽게하려면 특정 PC에서 테스트를 실행하고 다른 노드에서는 테스트를 실행하지 마십시오. (모든 노드는 항상 온라인 상태 임) ip-capability와 같은 것이 있습니까? (모든 노드가 동일한 브라우저 및 플랫폼을 실행하고 있습니다.) 그렇지 않으면 Grid-Execution.java와 Local-Execution.java를 수행해야합니까? 그 방법을 알고 싶다면 알려주세요! 인사말 Arno셀레늄 : ip로 실행중인 노드 설정 (또는 다른 것)

+0

'selenium-server-standalone'을 사용하여 컴퓨터에 로컬 그리드를 생성하십시오. 컴퓨터를 허브 및 3-4 개의 브라우저 인스턴스가있는 노드로 만듭니다. 그런 다음 허브의 IP를 전달하여 원격 또는 로컬 허브에서 테스트를 실행하는 매개 변수를 사용하십시오. –

답변

0

프레임 워크에는 시스템 속성 "IsLocal"이 있으며 항상 true입니다. false로 설정하고 그리드에서 실행하려면 hub ip와 port number와 같은 추가 매개 변수를 전달합니다.

또한이 값은 maven 명령 줄에서 전달할 수 있습니다. IDE에서 실행하면 값은 null이고, null 인 경우 기본값 인 true가 사용됩니다. 그래서 항상 로컬에서 실행됩니다. 그리드에서 테스트 할 필요가 있다면, 우리는 Maven이나 커맨드 라인에서 IsLocal 시스템 값을 전달합니다.

우리의 드라이버 공장 출하 브라우저 방법으로. 우리는 항상이 속성을 확인합니다. 그렇다면 로컬 드라이버를 사용하는 브라우저를 원격 웹 드라이버로 실행합니다. 아래 코드와 같은 것입니다.

boolean IsLocal=true; 
if(System.getProperty("IsLocal")!=null){ 
     IsLocal=System.getProperty("IsLocal"); 
} 

if(IsLocal){ 
    driver=new FirefoxDriver(); 
} 
else{ 
    driver= new RemoteWebDriver(HUBURL, DesiredCap); 
} 
+0

Murthi에게 감사드립니다. 수락 된 답변! –