我正在努力编写测试;我想在其中检查警报是否存在,如果存在则检查其文本并接受它。
我检查了How to wait for an alert in Selenium webdriver ? , How to check if an alert exists using WebDriver?和 selenium 2.4.0, how to check for presence of an alert ,但我无法使用 https://github.com/admc/wd 对其进行调整
我已经写了一些东西
browser.alertText(function (err, text) {
if (text) {
browser.acceptAlert(function () {
// ...
});
}
});
当显示警报时它工作得非常好,但是当没有警报窗口时 alertText
挂起。
如何在发出 alertText
之前检查警报是否存在?
谢谢你的帮助,
最佳答案
这可能会有所帮助 - 这就是我使用用于 node.js 的 Selenium Webdriver 检测警报的方式:
var webdriver = require('selenium-webdriver');
var url = "http://web-page-to-test-for-alert";
driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get(url);
driver.switchTo().alert().then(
function() {
console.log("alert detected");
},
function() {
console.log("no alert detected");
}
);
driver.quit();
'then' 与 promises 相关:then(success, failure)
这也可能有帮助 - 这就是我忽略页面上出现的任何警报的方式:
function ignoreAlert(driver) {
// detect and accept any alert
driver.switchTo().alert().then(function() {
driver.switchTo().alert().accept();},
function(){});
}
关于javascript - 如何使用 nodejs webdriver (wd) 检查警报是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281106/