Jat*_*eth 6 jquery node.js jasmine protractor
我在Protractor中发送HTTP get请求时遇到问题.实际上,我需要在UI中执行某些操作后检查数据库中的数据.
如果我能够使用JQuery做到这一点将非常有用,但我无法找到如何在Protractor中使用JQuery的方法.
需要帮忙 !!
实际上,我们确实尝试使用Node.js lib,如下所示,但面临问题.
var http = require('http');
var json_data;
http.get('SiteUrl', function(response) {
var bodyString = '';
response.setEncoding('utf8');
response.on("data", function(chunk) {
bodyString += chunk;
});
response.on('end', function() {
json_data = bodyString;
console.log("1---->" + json_data);
});
}).on('error', function(e) {
console.log("There is an error in GET request");
});
console.log("2---->" + json_data);
Run Code Online (Sandbox Code Playgroud)
在调试之后,我们发现问题是Protractor没有等待HTTP请求完成并且只是传递.我们2---->先在控制台中获得第一名1---->.
我也使用http模块(用于不同的目的,用于重新初始化数据库)。
要使量角器等待结束请求,请使用承诺
var http = require('http');
var json_data;
http.get('SiteUrl', function(response) {
var bodyString = '';
response.setEncoding('utf8');
response.on("data", function(chunk) {
bodyString += chunk;
});
response.on('end', function() {
json_data = bodyString;
console.log("1---->"+json_data);
// All the processing and Angular code should be here
console.log("2---->"+json_data);
});
}).on('error', function(e) {
console.log("There is an error in GET request");
});
Run Code Online (Sandbox Code Playgroud)
如果你不喜欢把所有的数据处理放到response.on('end')回调中,那就让回调成为一个单独的函数。
另外我不得不说,量角器不是用来直接检查数据库的。它用于端到端测试。您最好构建一个复杂的场景,在其中一个页面上写入一些数据,然后转到另一个页面并期望数据被更新。
小智 0
我认为这不是您正在寻找的正确答案。您还没有提到该数据库名称。
我正在使用http://frisbyjs.com/从量角器项目中的 couchdb(文档数据库)获取文档,它很好地实现了我的目的。
| 归档时间: |
|
| 查看次数: |
13261 次 |
| 最近记录: |