web接口测试工具:
手工测试的话可以用postman ,自动化测试多是用到 Jmeter(开源)、soupUI(开源&商业版)。
一、JMeter下载安装
- 下载
下载地址:http://jmeter.apache.org/download_jmeter.cgi
windows版本下载文件apache-jmeter-5.1.1.zip sha512 pgp
- 安装
- 解压安装包
- 配置环境变量(JMETER_HOME=D:\JMeter\apache-jmeter-5.1.1)
- 配置环境变量(classpath=%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;)
- 汉化
找到jmeter下的bin目录,打开jmeter.properties 文件,第37行去掉前面的#,修改为language=zh_CN,重新打开jmeter.bat就是中文界面了
二、JMeter使用
进入\bin 目录,双击打开"jmeter.bat"即可。
- 添加本次测试计划 (右键–>添加–>线程(用户)–>线程组)
- 设置线程数 (所谓线程数就是并发用户数)
- 添加HTTP请求
“服务器名称或IP”中不用输入http://, 请求时会自动加入(如输入api.test.cn),端口号默认80。
- 察看结果树
点击【启动】按钮后,察看结果树
- “用户定义的变量” 的应用
然后在http请求中就可以使用这些变量了:
- "HTTP Cookie 管理器"的应用
用户需要先登录,登录之后才有其他接口的访问权限,所以需要获取登录session。
- 修改jmeter安装目录bin下的jmeter.properties,CookieManager.save.cookies=true的值修改为true,并把前面的#去掉
- 重启Jmeter
- 在“线程组”接口下新增一个HTTP Cookie管理器,无需改动
- 设置断言
响应断言,以验证添加的数据是否成功。
这里设置了,响应文本里需要包括“1”,测试结果如下:
响应文本包括“1”:
响应文本不包括“1”:
- POST上传文件
参数名称:后台接收的文件名;
MIME类型:multipart/form-data;
点击【浏览】选择需要上传的文件:
- “HTTP信息头管理器”的使用
传递带json数据的http请求,需要使用 “HTTP信息头管理器”。
名称:Content-Type
值:application/json
在http请求中:
其他的方法,可以参考以下博客:
https://www.cnblogs.com/nancyzhu/p/8035042.html
https://www.jianshu.com/p/b61f70b67266
http://blog.csdn.net/defonds/article/details/40824011:这个可以从文件中设置json的参数。
http://blog.linuxeye.com/335.html:这个可以随机访问文件中的url。
http://www.open-open.com/doc/search?q=JMeter+&ft=all&od=0 :这里有jmeter的文档。