我正在使用以下函数在我的量角器测试中调用API,有时API需要时间来响应。如何等待Rest API在量角器中作出响应
var request = require("superagent");
var PostUrl = browser.baseUrl + 'rest/1.0/dev/users';
var CreateTenantUrl = browser.baseUrl + 'rest/1.0/tenant';
exports.CreateTenant = function(body){
var data = '{' + body + '}';
request.post(CreateTenantUrl).set('Content-Type', 'application/json').set('serviceSharedSecret', 'sharedsecret').send(data).end(function(err,res){
if(err){
console.log("CreateTenant post error= ", err)
} else{
console.log("CreateTenant post response = ", res.status)
}
expect(res.status).toEqual(200)
});
};
exports.CreateUsers = function(body){
var data = '{' +body + '}';
request.post(PostUrl).set('Content-Type', 'application/json').send(data).end(function(err,res){
if(err){
console.log("CreateUsers post error= ", err)
} else{
console.log("CreateUsers post response = ", res.status)
}
expect(res.status).toEqual(202)
});
};
调用这些功能在测试脚本:
Common.CreateTenant('"tid": "1","long_name": "test tenant"');
Common.CreateUsers('"userName": "test1", "tenantKey": "1", "password": "Test1", "userID": "1"');
有没有什么办法可以把等待每个API调用来完成,然后再执行下一个?
HI @Nicholas Ackerman,我正在使用上面的代码中提示的函数,但问题是'request.post(CreateTenantUrl).set('Content-Type','application/json')。 set('serviceSharedSecret','sharedsecret')。send(data).end(function(err,res)'需要时间来响应状态200因此'Commons.CreateUsers(''userName':'test1','tenantKey' :“1”,“password”:“Test1”,“userID”:“1”')'呼叫永远不会被执行,请建议我如何等待或者有什么事情可以做。 – ssharma