我似乎无法在Centos上安装带有Browserkit驱动程序的Mink。 我正在使用这些说明:https://github.com/minkphp/MinkBrowserKitDriver
我正在采取的步骤是:
在我的项目目录中添加名为composer.json的文件和内容:
{ “要求”:{ “behat / mink”:“~1.5”, “behat / mink-browserkit-driver”:“~1.1” } }
使用以下命令。
$> curl -sS https://getcomposer.org/installer | PHP
$> php composer.phar install
我尝试过添加require_once“vendor / autoload.php”;到我的test.php文件:
<?php
require_once "vendor/autoload.php";
use Behat\Mink\Mink,
Behat\Mink\Session,
Behat\Mink\Driver\BrowserKitDriver;
use Symfony\Component\HttpKernel\Client;
$app = require_once(__DIR__.'/app.php'); // Silex app
$mink = new Mink(array(
'silex' => new Session(new BrowserKitDriver(new Client($app))),
));
$mink->getSession('silex')->getPage()->findLink('Chat')->click();
但是得到app.php无法打开的致命错误。我也尝试将以下内容添加到test.php:
require_once 'vendor/behat/mink-browserkit-driver/tests/app.php';
任何帮助将不胜感激:)
答案 0 :(得分:0)
为了整理你的代码,你似乎缺少一些指南。在集成Behat和Mink之前,首先应该组织您的Silex项目。我的建议是让你看看官方Silex Skeleton project。
之后你可以先安装behat,mink和你的驱动程序:
cd path/to/your/silex/project/root
composer require behat/behat:~2.5 behat/mink behat/mink-browserkit-driver
然后你可以initialize behat。
bin/behat --init
然后在 behat.yml (在您的项目根目录下)配置您的mink驱动程序
default:
extensions:
Behat\MinkExtension\Extension:
browserkit: ~
base_url: http://my.dev.host
请注意,浏览器工具包无法执行JS,请记住(如果要在测试中执行JS,则应install another driver)
之后,您可以开始在features目录中编写功能(应该为您创建),例如,如果您在 src / controllers.php 中有此控制器:
<?php
//...
$app->get('/hello', function () use ($app) {
return new Response("Hello world!");
});
您可以编写该功能(在features / greeting.feature上):
Feature: Greetings from /hello page
In order to say hello world
As a visitor
I need to go to the /hello page and see Hello world!
Scenario: See Hello world!
Given I am on "/hello"
Then I should see "Hello world!"
答案 1 :(得分:0)
另一种选择是对silex使用完整的behat扩展名:https://github.com/tabbi89/Behat-Silex-Extension
您可以查看Mink和browserKit的集成如何在那里工作。