前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动

【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动

作者头像
王大力测试进阶之路
发布2019-10-25 17:38:59
1K0
发布2019-10-25 17:38:59
举报

之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?

其实我们可以将用例的数据存放在 csv 文件中,然后通过 csv 文件配置来读取用例中的数据,执行测试。用例数据如下图所示:

用例设计

创建用例文件:login.csv

保存目录C:\jmeter\apache-jmeter-5.0\bin\parameter\login.csv,csv数据设置文件中要用到这个路径

用例名称含义:

Name 接口名称 ${Name}

CaseNo 用例编号 ${CaseNo}

Priority 优先级 ${Priority }

Type 请求方法 ${Type}

Url 域名 ${Url}

Param 参数 ${Param}

Assertion 断言值 ${Assertion}

Jmeter设置步骤:

1、新建一个线程组,命名为:数据驱动

2、创建一个 HTTP请求默认值放域名、HTTP信息头管理器放头信息,供所有接口共用,如图:

3、添加循环控制器

线程组——添加——逻辑控制器——循环控制器。循环控制器的作用可以控制整个用例循环执行的次数。默认值是 1 根据用例数量可以修改为 8,循环8次

4、在循环控制器节点下创建 CSV 文件设置

循环控制器—添加—CSV 数据文件设置,循环读取excel用例数据的每个字段,具体配置内容如下:

5、创建 if 控制器,步骤为:循环控制器——添加——逻辑控制器——if 控制器()

if 控制器的作用判断用例优先级,可以选取性执行

条件语句为:"${Priority}"=="H"其中 ${Priority}表示引用 csv 中的 Priority中的值。

6、创建两个 if 控制器,步骤为:优先级控制器——添加——逻辑控制器——if 控制器

if 控制器的作用为根据不同请求方式执行不同的请求,例如这里根据不同的接口请求类型,分别创建了 GET 和 POST 两个控制器。

GET 设置的条件语句如下:

条件语句为:"${Type}"=="get"其中 ${Type}表示引用 csv 中的 Type中的值。

POST 设置的条件语句如下:

POST 条件语句设置为:"${Type}"=="post"其中 ${Type}表示引用 csv 中的 Type中的值

7、GET 和 POST 两个控制器下分别添加采样器、断言、结果树

8、创建请求类型设置

创建 GET 请求类型的用例如下:

用例名称格式:${Name}_${CaseNo} 接口地址_用例编号

接口路径:${Name}?${Param} 接口地址?参数

创建 POST 请求类型的用例如下:

POST 用例设置和 GET 类似,不过参数请求不一样,是在 body 中,如果发送的是json格式的参数

用例名称格式:${Name}_${CaseNo} 接口地址_用例编号

接口路径:${Name} 接口地址

消息体:${Param} 参数

9、设置断言

GET请求喝POST请求下分别设置断言${Assertion} =cvs中Assertion

10、查看GET和POST请求接口传参

GET:

http://www.baidu.com/1.0/users/login?username=1

POST:

http://www.baidu.com/1.0/users/login

{"username":2}

这样简单的操作就实现了Jmeter接口自动化的数据分离,简单的Jmeter配置+csv用例数据

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 橙子探索测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档