【发布时间】:2015-07-11 07:03:24
【问题描述】:
我正在测试一个可能出现随机覆盖的页面..
这些 HTML/CSS 元素会阻塞整个屏幕,并在它们显示时强制您关闭它们。
如何写一个 Jasmine 测试 it("....") ,这样我可以有条件地
- 在初始屏幕加载时检查此弹出窗口..
- 使用
click()关闭弹出窗口 - 检查弹出窗口确实关闭了
不使用expect,因为此弹出窗口并不总是存在,并且测试用例会/可能会失败。
这是我目前拥有的,如果对话框覆盖不存在,它会失败..
Jasmine 测试用例说明
describe("close header warning if opened", function () {
it("should check for header warning", function () {
writeTitleToLog("close header warning if opened");
element(by.css('.header-warning-container')).isDisplayed().then(function (displayed) {
if(displayed) {
element(by.css('.close-container')).click();
}
});
});
it("should not have the header warning", function () {
expect(element(by.css('.header-warning-container')).isPresent()).toBeFalsy();
});
});
测试输出
landing page
should check for header warning, and close it - fail
should not have the header warning, once it is closed - pass
【问题讨论】:
-
“弹出窗口”是什么意思?
alert()?请分享一些代码。 -
不是 javascript 警报.. 而是 CSS/HTML 覆盖
-
CSS/HTML 覆盖不会阻止 JS 执行,因此 Jasmine 运行其代码应该没有问题。您遇到的具体问题是什么?你有没有尝试过?
-
阅读我的更新..当前测试失败但没有给我错误消息(如未找到元素)..它只是失败了。
-
哪个
it失败了?
标签: javascript jasmine protractor