无法使用webdriverio在Android设备上运行完整的测试套件(单个测试很好)



我正在尝试针对本地连接的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,然后提交并推送了所有内容。

我删除了所有文件,一切正常。

最新更新