以下代码全部正常运行,但断言除外。当测试运行时,Jasmine会报告0个断言。如何将我的断言保留在承诺中并让它们被认可?
it("should open save NTP server modal", function (done) {
var addModal = driver.findElement(By.className('modal-dialog'));
driver.wait(until.stalenessOf(addModal), 5000).then(function () {
return driver.wait(until.elementIsEnabled(driver.findElement(By.id('saveButton'))), 5000).then(function (element){
return element.click();
});
});
driver.findElement(By.className("modal-body")).then(function (element) {
return expect(element.isDisplayed()).toBeTruthy();
});
done();
});
我知道在这个特定的情况下(我最好的例子测试)我可以抓住元素,然后在承诺之外做预期:
var element = driver.findElement(By.className("modal-body"));
expect(element.isDisplayed()).toBeTruthy();
不幸的是,在其他情况下,我无法确定在承诺之外执行异常的方法。
答案 0 :(得分:0)
你必须把你的"完成"最终回调中的方法。
driver.findElement(By.className("modal-body")).then(function (element) {
expect(element.isDisplayed()).toBeTruthy();
done();
});
您还可以查看Chai promises库,它用于处理异步预期。