Behat测试已经停止使用Selenium和Chromedriver突然运行并抛出'没有这样的会话'异常

时间:2016-11-16 11:24:54

标签: selenium-chromedriver behat mink

我的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()
    {
    }
}  

错误截图附件。Error while running tests

2 个答案:

答案 0 :(得分:0)

主要问题是最新的Chrome版本'54'不兼容。降级到Chrome 53解决了这个问题。

答案 1 :(得分:0)

我也遇到了类似的问题,我尝试下载selenium驱动程序“selenium-server-standalone-2.53.1”和chromedriver最新版本。这解决了我的问题。 你也可以试着这样做,你可能会发现任何运气。