转载自 http://www.cnblogs.com/yangxia-test
Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试。由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议。这就需要对jmeter进行设置。
(一)设置HTTP请求
我们首先右键添加线程组,然后继续右键添加控制器,由于登陆操作只请求一次,因而选择仅一次控制器。接下来右键添加sampler->HTTP请求,设置HTTP请求。这里注意的地方首先是端口号,如果只是普通的HTTP协议,默认不填,而这里是HTTPS协议,因而填端口号443。另外“协议”这儿填“https”。请求体数据,由于云阅读登陆时的post数据是json结构的,所以填在Body Data这里,用大括号将数据组织起来。PS:实际上应该是post请求,截图过快忘记改了~
<!--more-->
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154649098-363310746.png)
(二)设置Jmeter代理
上一篇博客刚刚讲了HTTPS协议和代理控制发送HTTPS请求的原理,我们知道要成功地发送HTTPS请求,关键之处就是代理的设置。首先我们要在线程组里添加一个录制控制器,不然无法生成Jmeter的CA证书文件。然后在工作台右键添加-〉非测试元件-〉HTTP代理服务器。选择默认端口是8080即可。直接点击启动。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154706348-582800981.png)
点击启动后弹出页面提示CA证书已经生成,在Bin目录下。点击确定即可。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154719863-1768382127.png)
(三)开启Jmeter代理
找到工具栏“选项”-〉SSL管理器。打开bin目录下的ApacheJMeterTemporaryRootCA.crt即可。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154947598-65939953.png)
(四)修改HTTP请求
现在已经设置好代理,重新修改下已经创建好的HTTP请求。再最下方Proxy server处添加代理服务器:localhost(本机上搭建的Jmeter代理),端口号就是8080。保存一下整个计划就可以。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154934785-742349304.png)
(五)添加HTTP请求头
由于我的请求体数据是json类型的,而默认HTTP请求头的content-Type是application/x-www-form-urlencoded。所以我们要在HTTP请求基础上添加一个HTTP请求头,设置Content-Type为application/json类型。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154920988-710282312.png)
(六)添加结果查看树
在HTTP代理后添加-〉监听器-〉查看结果树。
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154907723-854937052.png)
(七)执行HTTPS请求,并查看结果
点击工具栏的保存,然后点击运行按钮,接下来就可以在结果树中查看运行结果。我们看到运行成功,表示HTTPS请求成功!
![](https://images2017.cnblogs.com/blog/845586/201710/845586-20171023154845801-1094478980.png)