Protractor
과 함께 Jasmine
을 사용하여 Angular2
앱용 e2e 테스트 사례를 작성합니다.각도기의 "defaultTimeoutInterval"은 언제 재설정됩니까?
나는 두 가지 질문이 : 나는 카운트 다운 할 때마다 약속의 시작을 시작 있음을 이해하고 DefaultTimeoutInterval
소개
1. 약속은 protractor.conf.js
에 지정된 defaultTimeoutInterval
내에 완료되지 않을 경우 각도기를 사용하면 콘솔에 오류가 발생합니다. 그러나 약속이 defaultTimeoutInterval
이내에 완료되면 카운트 다운이 재설정되고 다음 약속이 시작될 때 시작됩니다.
위의 내용이 사실이라면 나는 약속의 사슬을 가지고 있다면 카운트 다운이 언제 재설정되는지 명확히하고 싶다. 체인의 모든 약속이 완료되거나 각 약속이 완료된 후에?
체인의 모든 약속이 완료된 후 카운트 다운이 재설정되면 it()/fit() blocks
의 직접 하위로 약속을하는 것이 올바른 방법일까요?
나는 아래의 샘플 코드를 통해 무엇을 묻고 싶습니다.
it("when does protractor's default timeout interval gets reset?",() => {
expect("a single promise here").toBe('something'); // I believe, after the promise inside the expect block finishes, the defaultTimeoutInterval should Reset.
// what happens if I have a chain of promises, like below?
// whether the defaultTimeoutInterval resets after every single promise inside the method `validateSuccessAlert()` and then the chained promises are finsihed?
// or will it reset on completion of every single promise?
PO.validateSuccessAlert('a method which has chained promises inside itself, returns a promise').then(() => {
browser.waitForAngularEnabled(false).then(() => {
PO.getEmailActivationLink('xxxxxx').then((activationCode) => {
PO.openNewTab(activationCode).then(() => {
PO.switchToTab(1).then(() => {
expect(PO.isVisible(element(by.css('.activateMailBox h3 small')))).toBeTruthy();
expect(element(by.css('.activateMailBox h3 small')).getText()).toBe('Congratulations!!');
expect(PO.isNotVisible(PO.getButtonByText('Proceed')));
PO.switchToTab(0);
browser.waitForAngularEnabled(true); // Re-enable the angular wait
})
})
});
});
})
})
2 allScriptsTimeout 소개
내가 정말 이해가 안는,이에 대한 계산 : 각 파일에 하나의 스펙? 이것에 대해서 조금이라도 설명 할 수 있다면, 좋을 것입니다. 당신이 당신의 it
을 초과해서는 안 믿는 일부 기본값으로 http://www.protractortest.org/#/timeouts#timeouts-from-jasmine
설정이 -
감사합니다. 나는 줄 밖의 방법을 생각하고있었습니다! –