我的Ubuntu 16.04机器上安装了Behat 3。几天前我的所有测试都运行得非常好。方案在不使用任何浏览器的情况下执行得很好。但是,使用基于浏览器的执行,使用Selenium和ChromeDriver会抛出 '没有此类会话' 异常。
我有最新的Selenium Server和Chrome驱动程序运行后台。虽然我知道设置或我的文件没有任何问题,因为它们之前运行正常,但仍然粘贴在下面:
composer.json
{
"require-dev" : {
"behat/behat" : "3.0.*",
"behat/mink-goutte-driver" : "*",
"behat/mink-browserkit-driver" : "*",
"behat/mink-extension" : "2.*",
"behat/mink-selenium2-driver" : "*",
"behat/mink" : "*"
},
"config": {
"bin-dir": "bin/"
}
}
behat.yml文件
#behat.yml
default:
autoload:
'': %paths.base%/features/bootstrap
suites:
default:
contexts:
- FeatureContext
paths:
- %paths.base%/features
extensions:
Behat\MinkExtension:
browser_name: 'chrome'
goutte: ~
javascript_session: selenium2
selenium2:
wd_host: http://127.0.0.1:4444/wd/hub
capabilities: { "browser": "chrome", "version": "*", 'chrome': {'switches':['--start-maximized']}}
base_url: https://axelerant.com
FeatureContext.php文件
<?php
use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use Behat\Gherkin\Node\PyStringNode;
use Behat\Gherkin\Node\TableNode;
use Behat\Mink\Driver\Selenium2Driver;
use Behat\Behat\Tester\Exception\PendingException;
/**
* Defines application features from the specific context.
*/
class FeatureContext extends \Behat\MinkExtension\Context\MinkContext implements Context, SnippetAcceptingContext
{
/**
* Initializes context.
*
* Every scenario gets its own context instance.
* You can also pass arbitrary arguments to the
* context constructor through behat.yml.
*/
public function __construct()
{
}
}
答案 0 :(得分:0)
主要问题是最新的Chrome版本'54'不兼容。降级到Chrome 53解决了这个问题。
答案 1 :(得分:0)
我也遇到了类似的问题,我尝试下载selenium驱动程序“selenium-server-standalone-2.53.1”和chromedriver最新版本。这解决了我的问题。 你也可以试着这样做,你可能会发现任何运气。