【问题标题】:Running WebdriverIO 'spec' tests as node file将 WebdriverIO 'spec' 测试作为节点文件运行
【发布时间】:2015-10-23 21:33:25
【问题描述】:

我是 webdriverio 的新手。我不明白它应该如何在节点应用程序中配置和使用。 导入 webdriverio 时如何运行“规范”测试?可以吗?

// based on http://webdriver.io/guide.html
var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        browserName: 'firefox'
    },
    specs: './test/spec/**' // why doesn't this work, when it would work when run from the wdio cli
};

webdriverio
    .remote(options)
    .init()
    .url('http://www.google.com')
    .title(function(err, res) {
        console.log('Title was: ' + res.value);
    })
    .end();

【问题讨论】:

  • 为什么不直接使用 wdio cli 运行测试?
  • 我确实使用 wdio cli 来开发测试,因为它通过运行时更快。但是,我的最终目标是让 grunt 运行构建测试,但我想尽量避免写入 process.env,我在想而不是使用 spec 属性来定义要运行的测试,但似乎不喜欢从不同的路径运行。
  • 好吧,从 Webdriverio 文档看来,规范应该是一个字符串数组,而不是一个字符串。也许就是这样?
  • 我最终完成了一个比我的初衷更优雅的实现。该解决方案使用包 grunt-env,也可以在设置环境变量后由 wdio cli 使用。谢谢@jrader。

标签: webdriver-io


【解决方案1】:

有两种使用 WebdriverIO 的方法。独立模式允许您在任意 NodeJS 脚本中使用 WebdriverIO API 集成测试自动化(例如this example)。它通常用于将 WebdriverIO 嵌入到不同的库中,例如 Chimp.js

另一种方式是 WDIO 测试运行器 (cli runner),它更适合进行充分的 e2e 测试。它需要一个配置文件(wdio.conf.js 或您想要的任何名称)并将此文件名作为参数传递给 wdio cli 命令(例如these examples)。如果您想为您的项目创建一个 e2e 测试套件,这是常用的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多