【问题标题】:Test script is failing when executed via Newman in Jenkins while works fine in postman and no postman console error comes测试脚本在 Jenkins 中通过 Newman 执行时失败,而在邮递员中工作正常并且没有邮递员控制台错误出现
【发布时间】:2020-08-06 14:28:03
【问题描述】:

通过 Newman - Jenkins 执行测试时出现以下错误。同样的请求可以通过邮递员正常工作。

HTTP request parsing failed with error: "Malformed URI: /v1/addresses?country=AUS&id=AUG|5f246f9b-7c97-4233-8de7-2d57f74cd86b|7.7305OAUGGwvjBwAAAAAIAgEAAAAAB7zTAAAAAAAAADEAAP..ZAAAAAD.....AAAAAAAAAAAAAAAAAAAAMTc3IHBhY2lmaWMgaHd5AAAAAAA-$15"

纽曼报告:

Jenkins 控制台输出:

邮递员截图 相同的测试在 Postman 中通过,而当通过 newman 执行时失败。 请注意,直到 2 天前它都可以正常工作,但是在新部署之后,它就不再工作了。

【问题讨论】:

  • 它返回 400,因此您发送的请求有问题。如果您的测试基于 200,那么这些测试显然会失败。什么是实际测试,实际反应是什么?这些图像是对正在发生的事情的片面看法。
  • 如果您也在使用 Newman V5,那么 URL 编码在请求中的工作方式已经有了一些改进。这里有一个未解决的问题和解决方法github.com/postmanlabs/newman/issues/2312
  • 之前运行良好。我比较了 URL、ID 和之前的所有内容。开发中发生了一些变化,现在它在 newman 中不起作用,但在 postman 中运行良好
  • 您是否尝试过我提供的链接中的解决方法,甚至阅读过它?
  • 感谢丹尼的帮助。有效。 :)

标签: jenkins-pipeline newman


【解决方案1】:

在预请求脚本中添加以下代码,它也可以在 Newman 中运行。

pm.request.url.query.each((q) => {
     q.update(encodeURI(q.toString()))
});

【讨论】:

    猜你喜欢
    • 2018-04-20
    • 2018-09-23
    • 1970-01-01
    • 2019-08-05
    • 2021-10-08
    • 2017-02-21
    • 2021-01-16
    • 2017-11-22
    • 2020-05-19
    相关资源
    最近更新 更多