问题描述
在我的 Behat 测试中,我单击页面上的一个链接,该链接会导致出现警报,我想接受/按 OK。我似乎无法处理警报,因为它会导致停止我的测试的错误:
unexpected alert open: {Alert text : Are you sure you want to delete this item?}
(Session info: chrome=88.0.4324.96): Are you sure you want to delete this item?
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:25:53'
System info: host: 'b4201ea64648',ip: '172.20.0.4',os.name: 'Linux',os.arch: 'amd64',os.version: '5.4.39-linuxkit',java.version: '1.8.0_275'
Driver info: driver.version: unkNown (WebDriver\Exception\UnexpecteDalertOpen)
特征文件:
@javascript
Scenario: ...
...
And I do something
上下文文件:
use Paulgibbs\wordpressBehatExtension\Context\RawwordpressContext;
class MyCuteContext extends RawwordpressContext {
/**
* @Given /^I do something$/
*/
public function iDoSomething()
{
$page = $this->getSession()->getPage();
...
$page->find(
"css","tbody > tr:nth-child(1)..."
)->press();
}
}
我似乎无法访问 accept_alert
函数,这是我搜索此错误时的建议。我尝试添加不同的 $this->getSession()->getDriver()->getWebDriverSession()->accept_alert();
变体,其他人在线建议,但没有成功。这行代码特别给了我 PHPStorm 中的灰色波浪线(在 getWebDriverSession
部分下方)
“潜在的多态调用。根据作为参数传递的实际类实例,代码可能无法运行。”
我在 behat.yml
中的貂皮设置是
Behat\MinkExtension:
base_url: http://Nginx/
# Use goutte (basic PHP browser,super fast) as the default driver.
default_session: headless
# Tag features/scenarios with @javascript to use the selenium2 driver.
javascript_session: selenium2
browser_name: chrome
#browser_name: firefox
selenium2:
wd_host: http://browser:4444/wd/hub
#capabilities: { "browserName": "chrome","browser": "chrome",'chrome': {'switches':['--no-sandBox','--headless']}}
sessions:
headless:
goutte:
guzzle_parameters:
verify: false
如何在出现的警报上接受/单击“确定”?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)