【问题标题】:JMeter testing for the url which contains @ as path paramJMeter 测试包含 @ 作为路径参数的 url
【发布时间】:2021-04-24 03:48:35
【问题描述】:

我有 REST API,它将用户名作为路径参数,就像这样 - app/users/{username}。 根据业务需求,用户名也可以是电子邮件地址。 应用程序已开发,我们可以通过对 URL 进行编码来使用 postman、curl 等进行测试。但是当我们使用 JMeter 测试同一个 API 时, 我们无法使用 JMeter 发送编码的 URL。为了演示这个问题,我创建了一个 webhook 站点(https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter%40jmeter) 并要求如下。

“获取https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter%40jmeter"

这导致了如下的 webhook

“https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter@jmeter”

但是我们想要下面的输出,我们可以通过 postman 或 curl 完成。

curl --location --request GET 'https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter%40jmeter'

请帮助我如何准备我的 JMeter 脚本,该脚本产生与上述相同的输出(在 curl 中)

【问题讨论】:

    标签: api http jmeter character-encoding special-characters


    【解决方案1】:

    我无法使用最新的JMeter 5.4 重现您的问题

    不确定您的“webhook”是做什么的,但是在像 Wireshark 这样的嗅探器工具中,curl 和 JMeter 的请求路径完全相同,并且没有 %40 不会被解码为 @

    如果您能够通过 curl 或邮递员成功发送您的请求,您应该能够使用 HTTP(S) Test Script Recorder 记录它 - 这样您将获得适当的 JMeter 配置。

    【讨论】:

    • 谢谢。我使用的是 JMeter 5.1.1。一旦我使用了 JMeter 5.4,问题就解决了。
    猜你喜欢
    • 2013-11-10
    • 2015-09-01
    • 2012-10-19
    • 2021-06-08
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多