我安装了Goutte和Sahi。我怎么知道我默认使用的是什么驱动程序?
另外如何从一个驱动程序更改为另一个驱动程序?
谢谢
public function iAmOnHomepage()
{
// $this->getSession()->visit("/");
// $driver = new \Behat\Mink\Driver\GoutteDriver();
// $session = new \Behat\Mink\Session($driver);
// start session:
// $session->start();
// $this->getSession($session);
$session = $this->getSession();
$session->visit($this->locatePath('/'));
$link = $session->getPage()->findLink('I am a Physician');
if (null === $link) {
throw new \LogicException("Home Page Not Loaded:\n");
}
}
我的behat.yml文件:
default:
formatter:
name: progress
extensions:
Behat\Symfony2Extension\Extension:
mink_driver: true
kernel:
env: test
debug: true
Behat\MinkExtension\Extension:
sahi: ~
goutte: ~
base_url: 'http://local.referral.com'
default_session: symfony2
答案 0 :(得分:2)
您必须在“Behat \ MinkExtension \ Extension”部分中定义“default_session:goutte”。 然后定义sahi_session:sahi
现在您可以在功能文件中切换会话,如下所示:
Feature: Category
Add Category, change Category
@sahi
Scenario: Change Category, add new Category
....
答案 1 :(得分:1)
我希望能够在开发时从CLI切换方法。
我的behat.yml:
default:
suites:
default:
paths:
- %paths.base%/features
contexts:
- Drupal\DrupalExtension\Context\DrupalContext
- Drupal\DrupalExtension\Context\MinkContext
extensions:
Behat\MinkExtension:
goutte: ~
selenium2: ~
chrome:
extensions:
Behat\MinkExtension:
browser_name: chrome
default_session: 'selenium2'
现在,跑步' behat'将主要使用goutte,但如果我选择运行
behat -p chrome
我得到了相同内容的浏览器版本。
behat版本3.1.0 (我看到很多文档说这是" Behat \ MinkExtension \ Extension" - 但我发现它是" Behat \ MinkExtension" - 这可能是一个版本的东西。)