这个问题主要是关于phpunit_selenium2
扩展(尽管一般的想法也受到欢迎):
假设我有一个页面在浏览器/标签关闭事件中触发警报,其中包含以下内容:
window.onbeforeunload = function() {
return 'Hello world!';
};
测试打开此页面,执行一些操作,根据测试场景,我需要打开另一个URL。
问题在于命令
$this->url('/another/page/url');
等待页面网址被更改并失败,因为它没有 - 因为它被刚刚出现的警报窗口锁定:RuntimeException: Navigation failed with error code=3.
如何解决这个问题?
答案 0 :(得分:0)
我能想到的丑陋但唯一的解决方案:
try {
$this->url('/another/page/url');
} catch (RuntimeException $e) {}
$this->acceptAlert();