【问题标题】:Webdriver.io test runner - exclude suite from specific capabilityWebdriver.io 测试运行器 - 从特定功能中排除套件
【发布时间】:2018-04-02 00:07:16
【问题描述】:

我的 webdriver.io 测试运行程序被组织成套件,我想从特定功能中排除套件。

例如,我有一个叫suite1的套件:

//
suites: {
  suite1: [
    './test/spec/*.js',
  ],
},
//

我想将此套件排除在 Safari 功能之外:

//
{
    'tunnelIdentifier' : sltunnel,
    'browserName': 'safari',
    'version': '10',
    'platform': 'OS X 10.12',
    'screenResolution': '1600x1200',
    'exclude':  [
        suite1,
     ],
},
//

有没有办法做到这一点?

【问题讨论】:

    标签: selenium selenium-webdriver webdriver webdriver-io saucelabs


    【解决方案1】:

    当然有多种方法可以做到这一点,但归根结底,这一切都取决于你。

    您可以将您的整个套件逻辑从您的 wdio.conf.js 文件拖到一个单独的配置文件中(我相信您可能已经为您的环境提供了一个配置文件:test、prod, w/e) 然后将其导入(通过require 到您的wdio.conf.js 文件中):

    假设你有suites.conf.js 文件:

    module.exports.suites = {
        // 1 => run the suite
        // 0 => don't run it
        "chrome": {
            "0": [
                "<yourSuiteName-001>.js"
                "<yourSuiteName-003>.js"
                "<yourSuiteName-005>.js"
            ],
            "1": [
                "<yourSuiteName-002>.js"
                "<yourSuiteName-004>.js"
            ]
        },
        "safari" : {
            "0": [
                "<yourSuiteName-002>.js"
                "<yourSuiteName-004>.js"
                "<yourSuiteName-005>.js"
            ],
            "1": [
                "<yourSuiteName-001>.js"
                "<yourSuiteName-003>.js"
            ]
        }
    // <etc>
    }
    

    然后你将它导入到你的wdio.conf.js 文件(var suites = require(./&lt;pathToSuitesConfig&gt;/suites.conf.js);)中,循环使用forEach 遍历你所有的套件,并基于你的browserName,创建一个缓冲区来存储 runable 套件,因为它们符合您的条件,然后将它们添加到配置文件中。此逻辑将进入您的 wdio.conf.js 标题部分,您可以通过结果更新可导出的 config。

    我只是在 5 分钟内想到了这一点,所以我确信有多种更简洁的方法可以实现这一点。


    或者,您可以查看其他易于插入 WebdriverIO 并且具有标记的测试运行器:

    • Cucumber 具有出色的 tagging 机制(由于 Gherkin 语法);
    • Mocha 也有类似的名字,你猜对了tagging。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-22
      • 2019-11-24
      • 1970-01-01
      • 2023-03-23
      • 2017-07-26
      • 2015-09-26
      相关资源
      最近更新 更多