我想向需要用户名和密码的服务器创建一个 https 请求。我在哪里可以提供凭据?我在 jmeter UI 中找不到这个选项
3 回答
要设置 jmeter 以访问 https url:
使用您的服务器名称创建 HTTP 请求默认值。
将实现设置为 httpClient3.1(否则对我不起作用)将协议设置为 https
为登录创建 HTTP 请求
我使用了spring security,所以我将路径设置为/j_spring_security_check
设置发帖方式
在参数部分中,在请求的发送参数部分中添加您需要登录的参数。在我的情况下,我必须完全按照我的登录表单中定义的方式发送用户名和密码参数。
最后添加一个响应断言来搜索文本响应。在这里,我检查了登录人的完整显示名称,因为它显示在响应中。
如果你想保存 cookie,你可能还想为线程组创建一个 HTTP Cookie 管理器
我跟着这个文档:http: //jmeter.apache.org/usermanual/build-web-test-plan.html
这取决于身份验证策略,如果是基本身份验证,那么它将通过Http 授权管理器完成。 如果它是基于表单的,那么将它们作为 Http Request 中的参数传递就可以了。
如果您不知道您的选择是通过浏览器和 JMeter 代理服务器进行记录:
基于 HTTP 请求的身份验证
使用开发人员工具->网络选项卡 -> 您的POST 请求->标题选项卡 ->表单数据部分获取您的凭据名称。
- HTTP 请求默认值
- 空HTTP Cookie 管理器
- 使用指定凭据 登录HTTP 请求
- 必需的HTTP 请求
- 查看结果树侦听器
测试:
在登录页面期间,通过 jmeter 获取 Cookie:
在实际请求期间,jmeter 使用在登录页面传递期间设置的 Cookie:
另外,请确保您CookieManager.save.cookies=true
的 jmeteruser.properties
文件中有。我之前已经做过了。
$ cat ~/.local/share/jmeter/bin/user.properties | grep Cookie
CookieManager.save.cookies=true
文件修改后重新启动你的jmeter。