php webdriver - 等待警报而不是杀死测试用例

时间:2016-11-28 13:15:26

标签: php selenium selenium-webdriver webdriver alert

我正在使用PHP Webdriver进行测试。在我的一个测试中,提醒:

  

要显示此页面,Firefox必须发送将重复的信息   执行的任何操作(例如搜索或其他确认)   较早

预计会出现

如何指示Webdriver等到警报出现?例如 - 最长等待超时让我们说60秒,如果15秒后警报出现,我希望Webdriver让我知道它存在。

screenshot of the alert enter image description here

1 个答案:

答案 0 :(得分:1)

PHP 版本(查找语法错误,因为我不熟悉PHP):

// wait for at most 60s for the alert
// sleep for 500ms and retries if it the alert is present.
// return alert if present, otherwise null
$driver->wait(60, 500)->until(
  WebDriverExpectedCondition::alertIsPresent()
);

注意: 60秒,500毫秒可根据您的需要进行配置。

参考文献:

  1. https://github.com/facebook/php-webdriver/wiki/HowTo-Wait
  2. https://facebook.github.io/php-webdriver/classes/WebDriverExpectedCondition.html#method_alertIsPresent
  3. Java 版本:

    WebDriverWait wait = new WebDriverWait(driver, 60); //60 seconds- configurable
    Alert alert = wait.until(ExpectedConditions.alertIsPresent());
    alert.accept();