我正在尝试使用Yii2 Basic框架设置Codeception。单元测试工作正常。验收也有效,但如果我想使用WebDriver
模块,我会收到错误。这是acceptance.suite.yml
文件
class_name: AcceptanceTester
modules:
enabled:
- AcceptanceHelper
- WebDriver:
url: 'http://mylocalsite'
browser: phantomjs
Phantomjs已在PORT 4444
上安装并运行。
我得到的错误是:
[yii\base\ErrorException]
Illegal offset type in isset or empty
这是作曲家文件,可以让您了解版本。
{
"config": {
"vendor-dir": "protected/vendor"
},
"require": {
"yiisoft/yii2": ">=2.0.5",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"guzzlehttp/guzzle": "4.*",
"mobiledetect/mobiledetectlib" : "2.8.8",
"codeception/codeception": "2.0.16",
"codeception/specify": "*",
"codeception/verify": "*",
"yii2tech/sitemap": "*",
"geoip2/geoip2":"~2.0",
"facebook/facebook-instant-articles-sdk-php": "^1.5"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-composer": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
}
配置文件是否有任何问题或任何人遇到同样的问题?
答案 0 :(得分:3)
以下只是一个假设,未经过验证。旧版Codeception中的YAML配置略有不同,AFAIK还有一个config
部分。您的composer.json显示您手动锁定到"codeception/codeception": "2.0.16"
。
你可以试试:
"codeception/codeception": "^2.2"
config
部分class_name: AcceptanceTester
modules:
enabled:
- WebDriver
config:
WebDriver:
url: http://mylocalsite
browser: phantomjs
port: 4444