如何将我的功能调制为单独的并行测试?

时间:2018-08-28 16:39:07

标签: dom nightwatch.js browserstack

我正在使用nightwatch.js和浏览器堆栈,并正在运行一系列如下所示的测试功能;从登录点到更深层的操作贯穿我的应用程序。

let mix = require('laravel-mix');

module.exports = {
    css: {
        loaderOptions: {
            sass: {
                data: `@import "./resources/assets/sass/variables.scss";`
            }
        }
    }
};

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

我想知道如何合并“并行”测试;让我的功能报告作为单独的测试而不是一个大型测试。

我尝试将以下内容包装在我的函数周围,但没有运气:'

this.TeamPanel = function(browser) {
        browser
        .url(Data.urls.oppListing)

        .waitForElementVisible("div#team.btn-icon", 1000)
        .click("div#team.btn-icon")

        .waitForElementVisible("div.side-panel.open", 1000)
//      .waitForElementVisible("div.box.team-member-summary-wrap.editable.fade-enter-done", 1000)

//      .waitForElementVisible("input#input", 1000)
//      .click("div#team.btn-icon")

        .waitForElementVisible("div.button", 1000)
        .click("div.button")

        Errors.checkForErrors(browser);

        browser.end();
};  

1 个答案:

答案 0 :(得分:2)

如果您使用示例nightWatch-browserstack项目来调制测试,则需要拆分测试功能并将其放在单独的.js文件中,然后将该文件放在“单个”文件夹或“套房”文件夹下。如果您的测试功能依赖于其他功能(例如登录),请确保也将“登录”功能添加到其他文件中。我创建了一个示例项目,对上述项目here进行了调整。如果查看单个文件夹,将找到两个名为“ TestCase1.js”和“ TestCase2.js”的.js文件,它们是两个独立的测试函数。同样,将测试功能添加到“单个”或“套件”文件夹中。 “单个”文件夹的意义在于,“单个”文件夹下的所有功能将以顺序方式(即一个接一个地执行)执行。而“ suite”文件夹下的功能将以并行方式执行。