Jmeter接口测试基础掌握

一、项目需要:接口测试、接口性能测试、负载测试、压力、稳定性测试。

元件: 测试计划、线程组(线程)、取样器(请求)、断言(对结果进行判断)、监听器(对结果进行收集)

二、jmeter是什么?

1.多线程框架、支持多并发操作

2.用于对服务器模拟负载

3.支持web、数据库、FTP服务器系统的性能测试

4.开源、纯java,可以二次定制化开发

三、入门使用:测试计划->线程组->

Jmeter接口测试基础掌握_第1张图片

Jmeter接口测试基础掌握_第2张图片

Jmeter接口测试基础掌握_第3张图片

作用域、模拟真实场景很重要。

 

四、jmeter脚本:用户操作被测软件的某种场景的流程,用代码形式描述出来。

首先将一个用户跑通、再去尝试高并发,1->N的变化。

如何快速开发脚本:

1、熟悉Http请求构成:请求行(请求提交方式、协议版本、url、端口号、路径、参数等)

请求头:主机+编码格式

空行:固定格式

请求体:body

2、准确:保证开发的脚本要请求成功

3、快速:借助技术、手工操作

4、漂亮:逻辑清楚、维护性高

五、jmeter代理服务器开发脚本:

录制:作为辅助功能

代理服务器录制原理:代理服务器:中间商、中转站的概念

步骤:

1、设置浏览器代理服务器:127.0.0.1 本机IP + 端口号

2、启动代理服务商

3、操作浏览器

4、自动录制脚本

Jmeter接口测试基础掌握_第4张图片

Jmeter接口测试基础掌握_第5张图片

第二步添加线程组

(可以代理其他主机,只要ping通、端口号ip填写对就可以。)

过滤脚本:request filter

删除其他的无关的脚本

添加cookie管理器

执行脚本

重命名

生成一个简单的脚本

录制脚本和自己写的脚本相比较,可以比较学习

Jmeter接口测试基础掌握_第6张图片

jmeter录制https 需要进行浏览器jmeter证书配置

录制完成后,恢复浏览器配置、才可以正常操作。

 

五、接口测试

接口种类:内部接口、外部接口

web接口、应用程序接口、数据库接口

1、web接口:http、https、webservice接口

webService接口:通过soap协议通过http传输,请求报文返回格式xml的,还需要解析麻烦、而且速度可能降低、严格

http:超文本传输协议

https:http通信接口部分用TSL、SSH代替

2、为什么要做接口测试

性能、功能、安全性

3、接口文档:接口地址、返回格式、请求方式、请求参数、请求头、返回数据示例

4、没有接口文档、需要抓包、完善文档、再展开接口测试 重点:熟悉抓包工具

5、Parameters 变量

Bodydata: json格式

File 传文件 图片 传输等

 

六、实战天气接口

https://www.juhe.cn/docs/api/id/39

Jmeter接口测试基础掌握_第7张图片

json返回示例:

{

"resultcode": "200",

"reason": "查询成功!",

"result": {

"sk": { /*当前实况天气*/

"temp": "21", /*当前温度*/

"wind_direction": "西风", /*当前风向*/

"wind_strength": "2级", /*当前风力*/

"humidity": "4%", /*当前湿度*/

"time": "14:25" /*更新时间*/

},

"today": {

"city": "天津",

"date_y": "2014年03月21日",

"week": "星期五",

"temperature": "8℃~20℃", /*今日温度*/

"weather": "晴转霾", /*今日天气*/

"weather_id": { /*天气唯一标识*/

"fa": "00", /*天气标识00:晴*/

"fb": "53" /*天气标识53:霾 如果fa不等于fb,说明是组合天气*/

},

"wind": "西南风微风",

"dressing_index": "较冷", /*穿衣指数*/

"dressing_advice": "建议着大衣、呢外套加毛衣、卫衣等服装。", /*穿衣建议*/

"uv_index": "中等", /*紫外线强度*/

"comfort_index": "",/*舒适度指数*/

"wash_index": "较适宜", /*洗车指数*/

"travel_index": "适宜", /*旅游指数*/

"exercise_index": "较适宜", /*晨练指数*/

"drying_index": ""/*干燥指数*/

},

"future": [ /*未来几天天气*/

{

"temperature": "28℃~36℃",

"weather": "晴转多云",

"weather_id": {

"fa": "00",

"fb": "01"

},

"wind": "南风3-4级",

"week": "星期一",

"date": "20140804"

},

{

"temperature": "28℃~36℃",

"weather": "晴转多云",

"weather_id": {

"fa": "00",

"fb": "01"

},

"wind": "东南风3-4级",

"week": "星期二",

"date": "20140805"

},

{

"temperature": "27℃~35℃",

"weather": "晴转多云",

"weather_id": {

"fa": "00",

"fb": "01"

},

"wind": "东南风3-4级",

"week": "星期三",

"date": "20140806"

},

{

"temperature": "27℃~34℃",

"weather": "多云",

"weather_id": {

"fa": "01",

"fb": "01"

},

"wind": "东南风3-4级",

"week": "星期四",

"date": "20140807"

},

{

"temperature": "27℃~33℃",

"weather": "多云",

"weather_id": {

"fa": "01",

"fb": "01"

},

"wind": "东北风4-5级",

"week": "星期五",

"date": "20140808"

},

{

"temperature": "26℃~33℃",

"weather": "多云",

"weather_id": {

"fa": "01",

"fb": "01"

},

"wind": "北风4-5级",

"week": "星期六",

"date": "20140809"

},

{

"temperature": "26℃~33℃",

"weather": "多云",

"weather_id": {

"fa": "01",

"fb": "01"

},

"wind": "北风4-5级",

"week": "星期日",

"date": "20140810"

}

]

},

"error_code": 0

}

 

你可能感兴趣的:(Jmeter接口性能测试,jmeter,测试类型)