1
我有一個測試,從頁面對象調用2個函數。當第一個函數的期望成功時,我希望第二個函數正常執行。否則,我想要執行第二個函數來中止。用量角器,我怎樣才能返回一個函數布爾值
這是我的測試與2功能。
it('Should do something.', function() {
page.expectModalBoldTextOf(('Expected Text'));
page.clickButton('Yes');
});
這裏就是我想返回布爾函數。
public expectModalBoldTextOf(boldedText: string) : boolean {
element.all(by.className('modal-body')).filter(function (elm) {
return elm.isDisplayed().then(function (displayed) {
return displayed;
});
}).then(function (modalBodyArray) {
if (modalBodyArray.length === 0) { // force a descriptive failure.
expect('Modal dialog').toBe('displayed on the page');
return false;
}
else {
modalBodyArray[0].element(by.tagName('strong')).getText().then(function (strongText) {
expect(strongText.toUpperCase()).toBe(boldedText.toUpperCase());
return true;
});
}
});
}
現在,上面呈現下面的量角器錯誤。
聲明類型既不是'void'也不是'any'的函數必須返回一個值或由單個'throw'語句組成。
如果我從改變返回類型爲「布爾」到「任何」此功能的實現需要的(當我刪除return語句),但它不返回任何指示信號,它成功或失敗,使我可以阻止執行clickButton函數。
據我所知,我只能在成功時調用expectModalBoldTextOf()函數中的clickButton()函數。但是我寧願返回一個布爾值來表示成功或失敗,因爲這會使它在我們的應用程序中更具普遍性。
謝謝,這讓我走上了正軌。 –