Jmeter 从本地 Excel 文件中读取用例参数,执行过程中将返回结果与预期值作对比,判断用例是否通过,最后将所有结果回写 Excel。
将下面这些 jar 包配置到 jmeter 的 lib 目录下
Apache POI 3.17
Apache POI-OOXML 3.17
Apache Commons IO 2.6
OOXML 模式 1.3
commons-collections4-4.1
xmlbeans-2.6.0
在本地 jmeter 目录下创建一个 excel 文件,标题如下
• ID - 用例 ID
• Case - 用例名称
• parameter- 接口参数
• request - 接口地址
• Method - 请求方法
• ExpectedResult - 预期结果
• ActualResult - 实际结果
• ResponseCode 响应码
• Status - 实际值与预期值对比之后,得出的运行结果
4.1、测试计划中定义用例文件读取路径
4.2、添加一个 JSR223 采样器,根据 excel 文件创建一个 Workbook 对象
4.3、添加一个 While 控制器
While 控制器用于 Excel 文件包含输入数据的行数,作为发送请求的次数
在 While Controller 中,添加以下代码,用于停止 While Controller
${__javaScript("${stopWhile}"!="OK")}
用例执行完最后一行之后,会返回 一个 OK。while 读取到 OK 之后跳出循环体,否则会继续循环
4.4、添加一个计数器,用于控制循环体
4.5、添加一个 JSR223 采样器,从单元格值中获取参数,并将这些值存储在变量中
4.6、添加一级判断,用来判断请求方法,自定义 POST,GET,DELETE
4.7、添加二级判断,用来判断登录,新增相关的接口,因为需要提取关联参数。
例如读取到 Case 名称为登录的接口,就提取登录 session,然后保存到系统属性,方便后续关联
4.8、添加 http 请求,在控制器下循环读取用例中的参数
4.9、提取响应信息,作为后期的实际值来断言
4.10、添加 BeanShell 断言
比较实际结果和预期结果,在 Excel 中记录响应实际值,响应状态和用例通过状态
框架完整结构
用例执行结果
pip 加速
执行 %APPDATA%
新建 pip 目录和 pip.ini 文件
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host=mirrors.aliyun.com
安装 allure 包,配置环境变量
allure-commandline-2.17.3
pip 安装 allure
pip install allure-pytest
jmeter 配置文件修改
user.properties 下添加这些内容
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
Jmeter 生成 jtl 文件
jmeter -n -t TestCase.jmx -l test.jtl
Python 解析 Jtl 文件,生成 Allure 报告文件
执行 allure serve ./result-test 打开报告
1、Jmeter 自动化用例文件
2、Jmeter 增强代码包
3、Jmeter 自动化框架脚本
4、python 解析 jtl 的代码
5、对 jmeter 元件的深入了解
免费提供自编的《性能笔试 80 题》,需要的联系微信 uhz2008