我按照此文档http://docs.behat.org/en/v2.5/cookbook/behat_and_mink.html的说明进行操作,一切看起来都不错,但每当我尝试使用Javascript测试场景时,我都会遇到奇怪的错误
警告:为vendor / behat / mink-selenium2-driver / src / Selenium2Driver.php第444行中的foreach()提供的参数无效
My Behat.yml看起来像这样
default:
gherkin:
cache: var/cache/test/behat/behat_gherkin_cache
testers:
rerun_cache: var/cache/test/behat/behat_rerun_cache
extensions:
Behat\Symfony2Extension: ~
Behat\WebApiExtension:
base_url: 'http://nginx:8001'
Behat\MinkExtension:
base_url: 'http://localhost:8000'
selenium2: ~
sessions:
default:
symfony2: ~
suites:
default:
paths: [ '%paths.base%/features/app' ]
contexts:
- FeatureAppContext
- Knp\FriendlyContexts\Context\TableContext
我的情景是
@javascript
Scenario: domain name reserve
Given I am on "/login"
When I fill in the following:
| username | user_default |
| password | test |
Then I press "Connexion"
Then I should be on "/"
但是,由于上述错误,第一条规则失败了。
Selenium2 jar也在运行。
我真的不知道为什么会收到此错误
以下是SeleniumDriver.php
/**
* {@inheritdoc}
*/
public function getCookie($name)
{
$cookies = $this->wdSession->getAllCookies();
foreach ($cookies as $cookie) {
if ($cookie['name'] === $name) {
return urldecode($cookie['value']);
}
}
}
你有什么想法吗?