JMeter 测试 url 其中包含 @ 作为路径参数
JMeter testing for the url which contains @ as path param
我有 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 中)
我无法使用最新的 JMeter 5.4
重现您的问题
不确定您的“webhook”是做什么的,但是在像 Wireshark 这样的嗅探器工具中,curl 和 JMeter 的请求路径完全相同,并且 %40
不会被解码为 @
如果您能够通过 curl 或邮递员成功发送您的请求,您应该能够使用 HTTP(S) Test Script Recorder 记录它 - 这样您将获得适当的 JMeter 配置。
我有 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 中)
我无法使用最新的 JMeter 5.4
重现您的问题不确定您的“webhook”是做什么的,但是在像 Wireshark 这样的嗅探器工具中,curl 和 JMeter 的请求路径完全相同,并且 %40
不会被解码为 @
如果您能够通过 curl 或邮递员成功发送您的请求,您应该能够使用 HTTP(S) Test Script Recorder 记录它 - 这样您将获得适当的 JMeter 配置。