Codeception自动加载:未定义“WebDriver”

时间:2016-10-10 07:00:23

标签: php symfony selenium webdriver codeception

我有一个Symfony2项目,但我无法正确配置WebDriver。 我已经用composer安装了facebook webdriver和codeception:

的Facebook / webdriver的: 版本:* 1.1.3

codeception / codeception: 版本:* 2.2.5

我遵循了这些说明(当自动加载失败时,许多其他来源没有成功): http://codeception.com/11-20-2013/webdriver-tests-with-codeception.html

项目根目录中的codeception.yml:

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    support: tests/_support
    envs: tests/_envs
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
extensions:
    enabled:
        - Codeception\Extension\RunFailed
        - WebDriver
    config:
        WebDriver:
            url: 'http://localhost/'
            browser: firefox
            port: 4444
modules:
    config:
        Db:
            dsn: ''
            user: ''
            password: ''
            dump: tests/_data/dump.sql

我生成了验收测试,当我运行codeception时,会发生以下错误:

[Codeception\Exception\ConfigurationException]
Class `WebDriver` is not defined. Autoload it or include into '_bootstrap.php' file of 'tests' directory

我已经尝试将其添加到tests / _bootstrap.php中:     require_once __DIR__.'/../vendor/codeception/codeception/src/Codeception/Module/WebDriver.php';

上面的路径是正确的,找到了php文件,但问题仍然存在。 究竟应该如何进行自动加载或引导程序?

编辑: 我将WebDriver启用并配置为tests / acceptance.suite.yml而不是根文件夹codeception.yml,并克服了这个问题。

目前还不清楚为什么会这样?

1 个答案:

答案 0 :(得分:2)

WebDriver不是扩展,而是模块。

您必须在modules文件的acceptance.suite.yml部分启用它。

modules:
    enabled:
      - WebDriver
      - \Helper\Acceptance

https://github.com/Codeception/Codeception/blob/2.2/tests/web.suite.yml