使用onbeforeunload更改页面的URL

时间:2013-01-14 20:56:20

标签: testing selenium phpunit selenium-webdriver

这个问题主要是关于phpunit_selenium2扩展(尽管一般的想法也受到欢迎):

假设我有一个页面在浏览器/标签关闭事件中触发警报,其中包含以下内容:

window.onbeforeunload = function() {
    return 'Hello world!';
};

测试打开此页面,执行一些操作,根据测试场景,我需要打开另一个URL。

问题在于命令

$this->url('/another/page/url');

等待页面网址被更改并失败,因为它没有 - 因为它被刚刚出现的警报窗口锁定:RuntimeException: Navigation failed with error code=3.

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我能想到的丑陋但唯一的解决方案:

try {
    $this->url('/another/page/url');
} catch (RuntimeException $e) {}
$this->acceptAlert();