0

我正在尝试针对本地连接的 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

此外,还会发生奇怪的事情,例如打开和关闭相机。我试过不同的手机,每次都发生同样的事情。

其他人遇到过这个问题吗?或者知道解决办法吗?

4

2 回答 2

0

查看有关在 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
于 2018-01-14T07:01:22.600 回答
0

事实证明,我团队中的一位开发人员(后来离开了)在项目的根目录中推送了一些奇怪的文件:

failed fibers@2.0.0 mocha_webdriverio_poc@0.0.1 node wdio

所有都是空白的,除了 Android 测试之外没有任何影响,即使这样,也只有在一起运行时才会影响。不确定这些是否是自动生成的,但他可能只是使用了git add -A,然后提交并推送了所有内容。

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

于 2018-01-18T11:25:37.937 回答