是否可以在 nightwatch 中使用 mocha 测试运行程序的页面对象模式?

is it possible to use the page object pattern in nightwatch with mocha test runner?

我想在我的守夜人测试中实现页面对象模式,同时使用 mocha。

我的测试 class 看起来像这样

module.exports = {
'Create Subscription' : function (browser) {
    var createPage= browser.page.createSubscriptionPage();
    var subscriptionName = '_test_nightWatch',
        subscriptionDescription = 'description';

  it('should create a  subscription', function(browser){
        createPage.navigate()
             .waitForElementVisible('@nameField', 20000)
             .setValue('@nameField', subscriptionName)
             .setValue('@descriptionField', subscriptionDescription)
             .expect.element('@nameField').to.have.value.that.equals(subscriptionName)
             browser.expect.element('@descriptionField').to.have.value.that.equals(subscriptionDescription)
        browser.end();
    });
}

};

我将 json 文件更新为

"test_runner" : {
    "type" : "mocha",
    "options" : {
        "ui" : "bdd",
        "reporter" : "list"
    }
}

它启动服务器但没有运行

我在网上看到了这个问题,但是 none 已经解决了

想通了...

var expect = require('chai').expect;
var nightwatch = require('nightwatch');

describe('Create Subscription', function() {
     var subscriptionName = '_test_nightWatch',
         subscriptionDescription = 'description';

it('should create a subscription', function(browser){

    var createPage= browser.page.createSubscriptionPage();
        createPage.navigate()
             .waitForElementVisible('@nameField', 20000)
             .setValue('@nameField', subscriptionName)
             .setValue('@descriptionField', subscriptionDescription)
         .expect.element('@nameField').to.have.value.that.equals(subscriptionName)
        browser.end();
    });
});

编辑:正确格式化文本