2017-11-15 5 views
0

테스트를 병렬로 실행할 때 PageFactory.InitElements(driver, this)으로 전화하는 방법은 무엇입니까? 해야합니까? 내 페이지 클래스의 후크? 내가 좋아하는 뭔가 내 테스트 페이지에 드라이버를 통과해야합니다병렬 실행 테스트에서 PageFactory.InitElements를 호출하십시오.

Login pgLogin = PageFactory.InitElements(driver, Login.class); 

나는 페이지가 병렬로 테스트를 위해 모델 + 페이지 공장 + C 번호 + NUnit3 객체를 사용하여 프레임 워크를 구축하는 최초의 사람이다 의심 셀렌 그리드에 ..하지만 많은 예제를 찾을 수 없습니다. 대부분은 한 가지 방법으로 드라이버 설정과 테스트를 묘사하는 매우 단순하지만 여러 테스트를 통해 복잡성을 추가하고 Page.cs에서 객체를 참조 할 때 모를 정도로 추가적인 로직이 필요합니다. 아래

코드 :

Login.cs

Test.cs

Base.cs

Hooks.cs

답변

0

당신은 페이지의 객체 클래스에 드라이버 개체를 전달할 수 있습니다

같은

시험 방법의 모양을

WebDriver driver; 
public void yourTest(){ 
    Login login = new Login(driver); 
    your rest of the code ...... 
} 

페이지 객체 클래스 :

class Login{ 
WebDriver driver; 
public Login(WebDriver driver){ 
    this.driver = driver; 
    PageFactory.InitElements(this.driver, this); 
    ............... your code 
    } 
// required page elements like txtEmail. 
}