如何在nightwatch.js中发送ajax get请求

时间:2016-05-13 07:27:19

标签: javascript ui-automation nightwatch.js ajax-request

我在UI自动化测试项目中工作我需要向我的服务器发送一个ajax请求,但是在Nighwatch.js中,一些vanilla javascript和JQuery函数的函数是不可接受的,

所以如果有人有经验在nightwatch.js环境中向服务器发送Ajax get请求,那么请给我一些信息/建议。

1 个答案:

答案 0 :(得分:1)

经过长时间的研究,我发现request.js是一个节点模块,我通过安装"request" node module解决了我的问题。安装后我能够执行" GET"和" POST"在 Nightwatch 环境中向我的服务器发出请求。我正在编写一段像魅力一样的代码。

/* jshint expr: true */
module.exports = {
'@tags' : ['book'],
beforeEach : function (client) {

},
after : function (client) {
    client.end();
},
wGroup: {
    book_url: "https://example.myApi.mycompany.in"
},

userSettings: Array(),

"Get all settings": function (client, done) {
    var widget = this.wGroup;
    client.getreq( widget.book_url + "/api/store", widget, function (response) {
        client.assert.equal(response.statusCode, 200, "201 Created");
        var objects = response.body.objects;
        client.userSettings = objects;
        console.log( 'Found number of settings: ' + client.userSettings.length );
        client.end();
    });
},

"Remove settings": function (client, done) {
    var widget  = this.wGroup;
    var objects = client.userSettings;
    for( i=0; i<objects.length; i++ ) {
        var obj = objects[i];
        console.log('Removing user settings id ' + obj.id );
        client.deletereq( widget.book_url: l + "/api/store" + obj.id, widget, function (resp) {
            client.assert.equal(resp.statusCode, 204, "204 Created");
            client.end();
        });
     }
   },
};