我正在尝试针对本地连接的Android手机运行我的WebdriverIO测试。使用 --spec /folder_with_tests/test.js
命令单独运行测试每次都可以正常工作。但是,如果我不使用--spec
并尝试运行整个套件,则无法正确连接到手机。
也许 15 个测试中有 1 个会随机通过。其余部分会产生如下错误:
ERROR: ESOCKETTIMEDOUT
ERROR: A session is either terminated or not started
ERROR: An unknown server-side error occurred while processing the command. Original error: Cannot read property 'shutdown' of null
此外,还会发生奇怪的事情,例如相机打开和关闭。我尝试过不同的手机,每次都会发生同样的事情。
还有其他人遇到过这个问题吗?或者知道解决方案?
查看有关在 wdio 中组织套件的官方文章:
要对测试进行分组,您需要:
// wdio.conf.js
exports.config = {
// define all tests
specs: ['./test/specs/**/*.spec.js'],
// ...
// define specific suites
suites: {
login: [
'./test/specs/login.success.spec.js',
'./test/specs/login.failure.spec.js'
],
otherFeature: [
// ...
]
},
// ...
}
然后你可以运行套件:
$ wdio wdio.conf.js --suite login
事实证明,我团队中的一位开发人员(后来离开了(在项目的根目录中推送了一些奇怪的文件:
failed
fibers@2.0.0
mocha_webdriverio_poc@0.0.1
node
wdio
所有这些都是空白的,除了Android测试之外,不会影响任何其他内容,即使如此,也只有在一起运行时。不确定这些是否是自动生成的,但他可能只是使用了git add -A
,然后提交并推送了所有内容。
我删除了所有文件,一切正常。