Page Object Model은 여전히 웹 응용 프로그램을 자동화하는 최선의 방법입니까?Page Object Model 또는 JavaScript 테스트 대안?
나를 위해 영화 대본 패턴을 관리하는 것이 더 좋은 방법 인 것처럼 보입니다.
또는 Cucumber.js의 Acceptance Testing과 같은 JavaScript 대안을 사용하십시오 (예 : & WebdriverIO).
Page Object Model은 여전히 웹 응용 프로그램을 자동화하는 최선의 방법입니까?Page Object Model 또는 JavaScript 테스트 대안?
나를 위해 영화 대본 패턴을 관리하는 것이 더 좋은 방법 인 것처럼 보입니다.
또는 Cucumber.js의 Acceptance Testing과 같은 JavaScript 대안을 사용하십시오 (예 : & WebdriverIO).
질문이 하나만있는 것처럼 들리지만 실제로 코드를 올바르게 작성하면이 모든 것을 하나로 병합 할 수 있습니다.
페이지 개체 모델
이 코드의 나머지 페이지의 요소를 분리 좋다. 올바르게 구현 된 경우 POM의 한 행을 변경하여 해당 페이지를 사용하는 모든 시나리오에 대해 페이지의 변경 사항을 수정할 수 있습니다.
nextButton.click();
fullName.sendKeys("John Doe");
각본 패턴
이것은 다른 페이지, 다른 워크 플로우에서 발생하는 행동의 분리에 적합합니다. 여행이 약간 변경되어 워크 플로우가있는 경우
james.attemptsTo(
goToTheNextPage(),
fillOutHisDetails()
);
는 아이디어는 단순히 각본 패턴의 순서를 변경하거나 더 이상 필요한 조치를 제거 할 수 있다는 것입니다. 위의 예에서 , 사업이 등록 양식 대신 복수의 한 페이지를해야한다고 결정한다면,이 한 줄 삭제 더 의미 할 것 : 2를
goToTheNextPage(),
를 대신 삭제를하는 I 에 넣어 것 :
driver.findElement({css:"#next"}).click();
driver.findElement({css:"#registrationDetails"});
CucumberJS + WebdriverIO
이 순수 비즈니스 언어의 시나리오의 정보를 묘사하는 것이 좋다. 당신이 진정으로 사람이 읽을 수있는 코드를 원하는 경우
Scenario: I am filling out the registration form
Given I am a new user
And I want to register for an account
When I fill out the registration form
Then I should be able to log in
그들
을 병합, 당신은이 모든 3를 병합 할 수 있습니다.
비즈니스 파일에 기능 파일이 있습니다. 각본 정의에 각본 패턴을 염두에 두어야합니다. Page Object Model로 작성된 각본 패턴 단계가 있습니다.
이것은 많은 레이어처럼 보일 수도 있지만 비즈니스가 시나리오를 이해할 수 있다는 것을 의미합니다. 코드를 되돌아 본 테스터와 개발자는 특정 여행의 워크 플로를 이해하고 디버깅시 코드를 사용하면 테스터는 한 줄의 코드 만 변경하여 여러 여행에 걸쳐 요소 값을 변경할 수 있습니다.