编程语言
首页 > 编程语言> > javascript – 如何使用nodejs webdriver(wd)检查是否打开了警报

javascript – 如何使用nodejs webdriver(wd)检查是否打开了警报

作者:互联网

我正在努力写一个测试;我想检查是否存在警报,检查其文本是否存在并接受它.

我检查了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之前检查警报是否存在?

谢谢你的帮助,

解决方法:

这可能会有所帮助 – 这就是我使用Selenium Webdriver为node.js检测警报的方法:

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(); 

‘那么’与承诺有关:那么(成功,失败)

这也可能有所帮助 – 这是我忽略页面上出现的任何警报的方式:

function ignoreAlert(driver) {
  // detect and accept any alert
  driver.switchTo().alert().then(function() {
    driver.switchTo().alert().accept();}, 
    function(){});
}

标签:javascript,node-js,selenium,remotewebdriver
来源: https://codeday.me/bug/20190612/1226551.html