作曲家 php - 安装和使用 Mink 与 Browserkit 驱动程序



我似乎无法在 Centos 上安装 Mink 和浏览器套件驱动程序。我正在使用以下说明:https://github.com/minkphp/MinkBrowserKitDriver

我正在采取的步骤是:

  1. 在我的项目目录中添加一个文件名为 composer.json 的文件和内容:

    { "要求":{ "behat/mink": "~1.5", "behat/mink-browserkit-driver": "~1.1" }}

  2. 使用以下命令。

$> curl -sS https://getcomposer.org/installer | php

$> php composer.phar 安装

  1. 现在项目目录中有 3 个文件(composer.json、composer.lock、composer.phar)和一个文件夹(vendor)。我从哪里运行"用法示例"代码(如文档所示)?

我尝试添加require_once"供应商/自动加载.php"; 到我的测试.php文件中:

<?php
require_once "vendor/autoload.php";
use BehatMinkMink,
    BehatMinkSession,
    BehatMinkDriverBrowserKitDriver;
use SymfonyComponentHttpKernelClient;
$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();

但是得到一个致命的错误,该应用程序.php无法打开。我还尝试添加以下内容进行测试.php:

require_once 'vendor/behat/mink-browserkit-driver/tests/app.php';

任何帮助将不胜感激:)

似乎您缺少一些准则来组织代码。在集成Behat和Mink之前,首先你应该组织你的Silex项目。我的建议是让你看看官方的Silex Skeleton项目。

之后,您可以从安装behat,mink和驱动程序开始:

cd path/to/your/silex/project/root
composer require behat/behat:~2.5 behat/mink behat/mink-browserkit-driver

然后你可以初始化 behat。

bin/behat --init

然后在 behat.yml 中配置您的 mink 驱动程序(在您的项目根目录上)

default:
  extensions:
    BehatMinkExtensionExtension:
      browserkit: ~
      base_url: http://my.dev.host

请注意,浏览器工具包无法执行JS,请记住(如果要在测试中执行JS,则应安装另一个驱动程序)

之后,您可以开始在功能目录上编写功能(behat应该为您创建它),例如,如果您在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!"

另一种选择是对 silex 使用完整的 behat 扩展: https://github.com/tabbi89/Behat-Silex-Extension

您可以在那里检查 Mink 和 browserKit 的集成是如何工作的。

相关内容

  • 没有找到相关文章

最新更新