저에게 그것은 조금 지나친 것 같습니다. 분도기는 정상적인 경우 동기 실행을 이미 처리해야합니다.
명령이 나열된 순서대로 실행되고 (이와 같이 표시되는 경우) 이러한 피라미드를 작성할 필요가 없습니다.
then()
을 사용하면 즉시 약속을 해결할 수 있지만 새로운 비동기 작업을 시작하고 도도면을 then()
외부로 계속 진행하십시오. 따라서 첫 번째 부분에 처음으로 then()
을 입력하면 함수의 두 번째 부분이 첫 번째 부분과 병렬로 실행됩니다 (확실하지는 않습니다.).
케이스 중간에 expect
: 작동하지만, 모범 사례는 아니지만 작동합니다. 중간에 예상 한 것이 실패하면 테스트 케이스는 끝날 때까지 계속되지만 테스트 케이스 상태는 실패로 남습니다. 테스트 케이스가 하나가 아닌 두 개가 있어야 할 가능성이 큽니다. pageObject 원하지 않을 내부
this.Then(/^I should see a pane on the right with an Interactions and Remarks tab$/,() => {
waitForPresence(mobileQADashboard.getTabPanel());
mobileQADashboard.selectInteractionsTab();
waitForPresence(mobileQADashboard.pageElements.viewAllInteractionsLink);
expect(mobileQADashboard.pageElements.viewAllInteractionsLink.isDisplayed()).to.eventually.be.true;
//gets now executed after the firt expect. In your code it's executed in parallel to the first.
waitForPresence(mobileQADashboard.getTabPanel());
mobileQADashboard.selectRemarksTab();
waitForLoader();
waitForPresence(mobileQADashboard.pageElements.addRemarkButton);
expect(mobileQADashboard.pageElements.addRemarkButton.isDisplayed()).to.eventually.be.true;
});
또한
expect
을 가지고. 테스트 케이스 (
it()
-block)를 작성하려면 a) 합격/불합격을 제어하고 b) 동시에 pageObject를 조사 할 필요가 없습니다. 하나도없이 테스트 케이스를 이해해야합니다. 다음
it(/first case/,function(){
this.ThenFirst();
expect(mobileQADashboard.pageElements.viewAllInteractionsLink.isDisplayed()).to.eventually.be.true;
});
it(/second case/,function(){
this.ThenSecond();
expect(mobileQADashboard.pageElements.addRemarkButton.isDisplayed()).to.eventually.be.true;
});
이러한 페이지 개체 :
this.ThenFirst(/^I should see a pane on the right with an Interactions and Remarks tab$/,() => {
waitForPresence(mobileQADashboard.getTabPanel());
mobileQADashboard.selectInteractionsTab();
waitForPresence(mobileQADashboard.pageElements.viewAllInteractionsLink);
};
this.ThenSecond(/^I should see a pane on the right with an Interactions and Remarks tab$/,() => {
waitForPresence(mobileQADashboard.getTabPanel());
mobileQADashboard.selectRemarksTab();
waitForLoader();
waitForPresence(mobileQADashboard.pageElements.addRemarkButton);
});
그래서 모든 모든 적절한 방법으로 더 같은 것을 보인다