在 运行 上使用 Codeception 2.2.10 在 Windows 上接受错误 "Call to a member function get() on null"

Error "Call to a member function get() on null" on Running acceptance with Codeception 2.2.10 on Windows

我正在使用 Codeception 进行验收测试。 Selenium 驱动程序版本 3.3.1 (selenium-server-standalone-3.3.1.jar) 以及最新版本的 firefox 52 进行测试.我已经将 geckodriver 版本 0.15 添加到 Windows 的环境变量 Path 中。但是当 运行 进行验收测试时,出现以下错误:

[错误] 调用成员函数 get() on null "

此外,我在 selenium 运行ning 终端中收到以下警告:

"The path to the driver executable must be set by the webdriver.gecko.driver system property"

以下是我的acceptance.suite.yml文件:

class_name: AcceptanceTester
    modules:
        enabled:
            - WebDriver:
            url: 'http://www.test.com/'
            browser: 'firefox'
            - Asserts
            - \Helper\Acceptance

为了 运行 selenium 驱动程序,我 运行 以下命令:

java -jar tests\selenium-server-standalone-3.3.1.jar

为了运行测试,我运行执行以下命令:

vendor\bin\codecept run tests\acceptance\TestCest.php

难道selenium无法从Windows的环境变量Path中读取路径?

最后,我通过以下步骤搞定了它:

  1. 正在将 geckodriver 可执行文件 (geckodriver.exe) 添加到 System32 windows 安装文件夹
  2. 的文件夹
  3. 添加路径到system环境变量Path(在系统属性->高级->环境变量->系统变量->编辑路径 )
  4. 重启 Windows

原来我必须将geckodriver可执行文件复制到system32文件夹中才能被selenium驱动程序运行(在此之前,我将不同文件夹中的geckodriver路径添加到Path环境变量中但它没有用。