Jmeter一般来说是压力测试的利器,最近想尝试jmeter和BeanShell进行接口测试。由于在云阅读接口测试的过程中需要进行登录操作,而登录请求是HTTPS协议。这就需要对jmeter进行设置。
(一)设置HTTP请求
我们首先右键添加线程组,然后继续右键添加控制器,由于登陆操作只请求一次,因而选择仅一次控制器。接下来右键添加
sampler->HTTP请求,设置HTTP请求。这里注意的地方首先是端口号,如果只是普通的HTTP协议,默认不填,而这里是HTTPS协
议,因而填端口号443。另外“协议”这儿填“https”。请求体数据,由于云阅读登陆时的post数据是json结构的,所以填在Body
Data这里,用大括号将数据组织起来。PS:实际上应该是post请求,截图过快忘记改了~
![](http://upload-images.jianshu.io/upload_images/3265068-fa3c4ed7a0c9dd72.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/590)
(二)设置Jmeter代理
上一篇博客刚刚讲了HTTPS协议和代理控制发送HTTPS请求的原理,我们知道要成功地发送HTTPS请求,关键之处就是代理的设置。首先我们要在线程组里添加一个录制控制器,不然无法生成Jmeter的CA证书文件。然后在工作台右键添加-〉非测试元件-〉HTTP代理服务器。选择默认端口是8080即可。直接点击启动。
![](http://upload-images.jianshu.io/upload_images/3265068-b08439c4cc0a0eda.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/584)
点击启动后弹出页面提示CA证书已经生成,在Bin目录下。点击确定即可。
![](http://upload-images.jianshu.io/upload_images/3265068-01737de17b64585e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/594)
(三)开启Jmeter代理
找到工具栏“选项”-〉SSL管理器。打开bin目录下的ApacheJMeterTemporaryRootCA.crt即可。
![](http://upload-images.jianshu.io/upload_images/3265068-1dad1068093bccfb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/516)
(四)修改HTTP请求
现在已经设置好代理,重新修改下已经创建好的HTTP请求。再最下方Proxyserver处添加代理服务器:localhost(本机上搭建的Jmeter代理),端口号就是8080。保存一下整个计划就可以。
![](http://upload-images.jianshu.io/upload_images/3265068-b9da73fd30688c7f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/596)
(五)添加HTTP请求头
由于我的请求体数据是json类型的,而默认HTTP请求头的content-Type是application/x-www-form-
urlencoded。所以我们要在HTTP请求基础上添加一个HTTP请求头,设置Content-Type为application/json类型。
![](http://upload-images.jianshu.io/upload_images/3265068-6c73dc11a5764369.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/593)
(六)添加结果查看树
在HTTP代理后添加-〉监听器-〉查看结果树。
![](http://upload-images.jianshu.io/upload_images/3265068-63d311ef8b6b1c2b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/623)
(七)执行HTTPS请求,并查看结果
点击工具栏的保存,然后点击运行按钮,接下来就可以在结果树中查看运行结果。我们看到运行成功,表示HTTPS请求成功!
转载自“51testing软件测试网”