如何在 Protractor 中发出 HTTP GET+POST 请求

2023-12-27

我在 Protractor 中发送 HTTP get 请求时遇到问题。实际上,我需要在用户界面中执行某些操作后检查数据库中的数据。

如果我能够使用 JQuery 来完成它,那将非常有帮助,但我无法找到如何在 Protractor 中使用 JQuery 的方法。

需要帮忙 !!

实际上,我们确实尝试使用 Node.js 库,如下所示,但遇到了问题。

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);

经过调试,我们发现问题是Protractor没有等待HTTP请求完成而直接传递。我们正在得到2---->首先在控制台中,然后1---->.


我也用http模块(用于不同目的,用于重新初始化数据库)。

要让 Protractor 等待结束请求,请使用 Promise

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");
});

如果您不喜欢将所有数据处理放入响应.on('结束')回调,然后将回调作为一个单独的函数。

另外我不得不说 Protractor 并不是用来直接检查数据库的。它用于端到端测试。您应该更好地构建一个复杂的场景,在其中一个页面上写入一些数据,然后转到另一个页面并期望数据被更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Protractor 中发出 HTTP GET+POST 请求 的相关文章

随机推荐

  • Git 将功能分支中的单个文件重置为与 master/main 中的相同[重复]

    这个问题在这里已经有答案了 我正在尝试恢复我的更改单个文件在我的功能分支中 我希望该文件与 master main 中的文件相同 I tried git checkout filename git checkout filename git
  • Postman在新版本中删除了离线模式(Scratch Pad),有办法启用吗?

    Postman 删除了离线模式 Scratch Pad https learning postman com docs getting started basics using scratch pad https learning post
  • 使用 ALAsset 来自 GRKPhoto 的 UIImage

    我在用着grabKit https github com pierrotsmnrd grabKit为了允许用户将他们的 Instagram Facebook 和本地图片导入到我的应用程序中 当照片是本地时就会出现问题 在本例中 我使用了一种
  • elasticsearch 使用查询字符串设置排序顺序

    我有以下简单的弹性搜索查询 http localhost 9200 apn presupuesto search q subcuenta penal sort anio 而且效果很好 现在我尝试通过 anio desc 订购 我尝试了所有这
  • 为什么Java 8的Optional不能在参数中使用

    我在许多网站上读过 Optional 应该仅用作返回类型 而不应在方法参数中使用 我正在努力寻找一个合乎逻辑的理由 例如 我有一段逻辑 它有 2 个可选参数 因此 我认为像这样编写我的方法签名是有意义的 解决方案 1 public int
  • 在 Haskell 中实现类型类时的任意类约束

    我正在尝试实现一个简单的Set在 Haskell 中 我陷入了如何表达它包含的元素的类约束的困境 The Set类型类相当简单 class Set s where empty s a isEmpty s a gt Bool insert s
  • ggplot图例不显示

    以下代码不显示图例 library ggplot2 g ggplot g g geom line aes x 1 10 y 1 10 color red size 0 2 g g geom line aes x 5 12 y 15 22 c
  • R中的sqldf包,查询数据框

    我正在尝试使用 R 中的 sqldf 库重写一些代码 这应该允许我在数据帧上运行 SQL 查询 但我遇到一个问题 每当我尝试运行查询时 R 似乎都会尝试查询我使用的实际 MySQL 数据库 con 并通过我试图搜索的数据框的名称查找表 当我
  • System.Threading.ThreadAbortException:线程被中止

    我在执行该过程时收到此错误 此问题仅出现在生产中 而不出现在测试和开发系统中 而且这个问题也不会一直发生 当出现此错误时 通过应用程序使用此数据库的所有用户都会被挂起 这意味着与数据库的所有用户连接都将被重置 几秒钟后它会恢复并正常工作 错
  • 如何在Python中处理大的小数?

    我正在解析数据列表 数据是一个值列表 它们非常大 有很多小数点 例如 3 21446735874 48 4505248207 0 3 21476825075 48 4504325609 0 我需要能够在计算中使用这些数字 而无需 pytho
  • Excel文本连接字符串文件路径无效[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个连接字符串 txt使用 C 文件 我不断收到错误消息 指出我的文件路径无效 string excelConnectionString Provider Microsoft Jet OLEDB 4
  • 更改MYSQL日期格式

    我在 MYSQL 中有一个表 其中 3 列有日期 并且它们的格式不符合要求 目前我有 月 日 年我想将这些日期更改为日 月 年 表名称为 Vehicles 列名称为 CRTD INSR SERD 您当前列的数据类型不是date正确的 您需要
  • 如何在 python 中使用 pandas 获取所有重复项的列表?

    我有一份可能存在出口问题的物品清单 我想获得重复项目的列表 以便我可以手动比较它们 当我尝试使用 pandas 时重复法 http pandas pydata org pandas docs dev generated pandas Dat
  • Servlet 和 Filter 在 Grails 中注册为 Spring Bean,而不是 web.xml

    在圣杯中 从 2 x 升级到 3 0 6 文档 https grails github io grails doc latest guide upgrading html有人指出 新的 servlet 和过滤器可以分别注册为 Spring
  • 如何将 Objective-C 和 Swift Pod 集成到 iOS 应用程序的同一项目中

    我正在 iOS 应用程序中做 Objective C 但问题是我想添加一些 Objective C api 到我之前用 cocoa pods 成功添加的地方 但是 现在我想通过 cocoa pods 添加 Swift Api 但是安装时遇到
  • Keras 准确率没有改变

    我有几千个音频文件 我想使用 Keras 和 Theano 对它们进行分类 到目前为止 我生成了每个音频文件的 28x28 频谱图 越大越好 但我只是想让算法在这一点上工作 并将图像读入矩阵中 所以最后我把这个大图像矩阵输入到网络中进行图像
  • Gitlab CI/CD 在管道之间传递工件/变量

    tl dr 我如何传递数据 例如这 BUILD VERSION变量 Gitlab CI 中不同管道中的作业之间 所以 就我而言 Pipeline 1 on push ect Pipeline 2 after merge building j
  • 如何根据模式列表对条纹字符串进行标记

    Given a string S and a list L of patterns L1 Ln how would you find the list of all tokens in S matching a pattern in L a
  • 循环最多运行一次,(循环增量从未执行)

    我有一个选择器视图 我希望其中的内容是飞机的尾号 我使用此代码 但收到警告Loop will run once at most loop increment never executed 然后我得到错误control may each en
  • 如何在 Protractor 中发出 HTTP GET+POST 请求

    我在 Protractor 中发送 HTTP get 请求时遇到问题 实际上 我需要在用户界面中执行某些操作后检查数据库中的数据 如果我能够使用 JQuery 来完成它 那将非常有帮助 但我无法找到如何在 Protractor 中使用 JQ