接口测试-Jmeter基础

一、Jmeter的目录结构

 backups:脚本备份目录,格式JMX

bin目录:存放Jmeter的启动脚本,配置文件,模块文件。

        jmeter.bat 启动Jmeter

        Jmeter.properties 核心配置文件:Jmeter中文界面只需要在此文件中增加一项配置

                        language=zh_CN,然后重启Jmeter就可以啦!

docs:离线帮助文档

extras:存放有第三方的集成构建文件,集成Ant,Jenkins

lib目录:存放jar包,而第三方的jar包放在 lib/ext 目录下

licensce:许可证文件

二、元件的基本介绍

元件:多个类似功能组件的容器(类似于)

元件作用
取样器发送请求
逻辑控制器控制语句的执行顺序
前置处理器对请求参数进行预处理
后置处理器对响应结果进行提取
断言检查接口的返回结果是否与预期结果一致
定时器设置等待
测试片段封装一段代码,供其他脚本调用
配置元件测试数据的初始化配置
监听器查看Jmeter脚本的运行结果

三、Jmeter常用组件

1. 测试计划:启点,所有组件的容器

2.线程组:代表一定数量的用户

组件:实现独立的某个功能(类似于方法)

        例如取样器的组件:HTTP请求,TCP取样器

自动化脚本的实现过程:

  1. 初始化测试数据                -- 配置元件
  2. 对请求参数化进行赋值     -- 前置处理器
  3. 调用GET/POST方法发送请求 -- 取样器
  4. 提取响应中特定字段的值    -- 后置处理器
  5. 对提取出来的值与预期结果进行对比   -- 断言
  6. 在控制台查看脚本运行的结果     -- 监听器

四、元件作用域和执行顺序

4.1  元件的作用域

是靠测试计划的树形结构中元件的父子关系来确定的

提示:所有的组件都是以取样器为核心来运行的。组件添加的位置不同,生效的取样器也不同。

4.2 作用域的原则

  • 取样器:核心,不和其他元件相互作用,没有作用域
  • 逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用
  • 其他元件:
    • 如果是某个取样器的子节点,则该元件只对其父节点起作用
    • 如果其父节点不是取样器,则其作用域是该元件父节点的其他所有后代节点(包括子节点、子节点的子节点等)

4.3 元件的执行顺序

同一个作用域下不同类型元件

1. 配置元件(config elements)

2. 前置处理程序(Per-processors)

3. 定时器(timers)

4. 取样器(Sampler)

5. 后置处理程序(Post-processors)

6. 断言(Assertions)

7. 监听器(Listeners)

同一作用域下相同元件:

从上到下的顺序一次执行

三、常见的应答的状态码系列

  • 1XX:通知

        1XX系列响应代码仅在与HTTP服务器沟通时使用。

  • 2XX:成功

        2XX系列响应代码表明操作成功了。

        200:它表示服务器成功执行了客户端所请求的动作

  • 3XX:重定向

        客户端需要做些额外工作才能得到所需要的资源。它们通常用于GET请求。

  • 4XX 客户端错误

        401:客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书。客户端提供了错误的证书,或者根本没有提供证书。

        404:表明服务器无法把客户端请求的URI转换为一个资源

  • 5XX 服务端错误

        500:通用的服务器错误响应。对于大多数web框架,如果在执行请求处理代码时遇到了异常,它们就发送此响应代码。

四、Jemeter之发送GET和POST请求

4.1 GET请求

4.2 POST请求

与GET请求类似

五、Jmeter的参数

5.1 之param参数

 如何填写参数:键值对形式

注意空格:如果报错,而且确定参数值和参数名都正确,就检查是否有空格

5.2 Jmeter之bodydata参数

如何填写参数:json,xml格式的参数

六、Jemeter之http请求默认值

如何添加:线程组右键--配置元件--http请求默认

作用:http请求默认值  会在发送http请求的时候,自带这些参数

七、Jmeter之响应断言

如何添加:线程组右键--断言--响应断言

Jmeter中有个元件叫做断言(Assertion),它的作用和LoadRunner中的检查点类似;用于检查测试中得到的接口返回值是否正确。

 7.1 添加断言:

1、apply to:通常发出一个请求只触发一个请求,所以勾选"Main sample only";若一个请求可以触发多个服务器请求,就有"main sample" 和 "sub-sample"之分了。

2、测试字段

(1)一般的http响应,都勾选“相应文本”;

(2)url样本是对sample的url进行断言,如果请求没有重定向,就请求url,如果有重定向,就请求url和重定向url;

(3)响应代码:http响应代码,如101,200,404等。当我们要验证404,501等http相应代码时,需要勾选“忽略状态”。因为当http相应代码为400,500时,jmeter默认这个请求是失败的。

3、模式匹配:

(1)包括:返回结果包括你指定的内容,支持正则匹配。

(2)匹配:相当于equals。

(3)字符串:与"包括"差不多,都是指返回结果包括你指定的内容,但subString不支持正则字符串。

4、测试模式:输入结果期望值(空格要去掉)

7.2 添加断言结果

监听器->断言结果

如果返回的是“http结果”,而没有报错信息,说明断言成功。

八、Jmeter请求元件之用户自定义变量

配置元件->用户自定变量

自定义变量如何引用:${变量名}

九、Jmeter请求元件之CSV参数化

配置元件->CSV 数据文件设置

 9.2 线程组设置的循环次数与文件的行数一致就可以生成多个案例

十、Jmeter函数CSVRead参数化数据

工具->函数助手对话框

线程组设置

线程数设置成多线程才能读取文件多行数据。

十一、函数助手-randomstring

 十二、正则表达式

元字符意义限定符意义
.任意单个字符+匹配至少大于1次
\d任意单个数字匹配0次或1次
[0-9]等价0-9*匹配0次或多次 贪婪匹配
[a-zA-Z]等价所有的大小写字母{n,}、{n,m}、{n}匹配限定次数

一般使用方法为:

元字符+限定符

十三、Jmeter请求元件之正则表达式提取器提取响应结果

13.1 在需要的http请求下,添加后置处理器->正则表达式提取器

 13.2 添加取样器->Debug Sampler(调试取样器)

通过调试取样器可以看到正则表达式的提取结果。

13.3 新建一个http请求,使用正则表达式提取结果

十四、正则表达式提取数组数据

 

十五、Jmeter请求元件之foreach循环控制

 添加->逻辑控制器->foreach

十六、Jmeter之Json path

 添加->后置处理器->JSON提取器

十七、Jmeter请求之cookie

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值