概述

今天用jmeter做一次参数化实战。通过计数器遍历参数表,然后查询jdbc进行beanshell断言。

涉及元件

用户参数,计数器,正则表达式,jdbc,beanshell脚本

详细过程

在我们的opms项目管理中,有一个项目状态的修正,四种状态分别为延期,挂起,进行,结束

在接口自动化案例中,我们需要对这四种状态进行遍历,然后进行断言,判断状态是否正确修改。

我们通过抓接口,发现了传参的一个规律:除了项目id之外,四种状态的status分别是1,2,3,4。

我们把添加项目的返回id用正则表达式提取出来,作为项目状态接口的入参,参数名称为projectid,这个是主键id

现在思考一下,接下来的四种状态,你要如何去操作才能全部执行一次并断言结果???

通常的做法是写四个接口,传四种参数,再添加四个断言,但是这种做法会造成大量的脚本冗余,在接口自动化中是会被鄙视的!如下:

现在教大家用精简的脚本完成复杂的逻辑校验

添加一个循环控制器,让它循环四次,可以遍历四种状态

添加一个用户参数,在参数表中配置四种项目状态

添加一个计数器,上限为4,递增1,用来遍历参数表中的四种状态

添加一个http请求,在名称中遍历状态名;在入参中遍历状态值

添加一个jdbc请求,通过变更的状态值和项目id组合查询的方式,验证每一次状态的变更是否正确的写入了数据库

我们在接口执行了之后,还需要去前端页面判断一下状态名称是否真的被修改了,在这里用到了xpath表达式去提取前端页面数据

添加一个beanshell断言,判断我们数据库返回值是否为空,如果不为空且和前端页面返回的状态名称,表示断言通过,否则断言失败

运行脚本,在结果树中和log日志中观察执行效果

遍历了四种状态并对实际运行结果进行了断言

关注公众号,获取更多精彩文章!

点击获取《jmeter接口自动化与性能实战-飞天小子.pdf》

jmeter(四十六)参数化与断言实战的更多相关文章

  1. Jmeter(四十六) - 从入门到精通高级篇 - Jmeter之网页图片爬虫-下篇(详解教程)

    1.简介 上一篇介绍了爬取文章,这一篇宏哥就简单的介绍一下,如何爬取图片然后保存到本地电脑中.网上很多漂亮的壁纸或者是美女.妹子,想自己收藏一些,挨个保存太费时间,那你可以利用爬虫然后批量下载. 2. ...

  2. Android简易实战教程--第四十六话《RecyclerView竖向和横向滚动》

    Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果.当然,在新能方便也做了大大的提高. ...

  3. NeHe OpenGL教程 第四十六课:全屏反走样

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. 四十六、android中的Bitmap

    四十六.android中的Bitmap: http://www.cnblogs.com/linjiqin/archive/2011/12/28/2304940.html 四十七.实现调用Android ...

  5. “全栈2019”Java第四十六章:继承与字段

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. 第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么

    第四十六个知识点 在Sigma协议中,正确性,公正性和零知识性意味着什么 Sigma协议 Sigma协议是Alice想要向Bob证明一些东西的协议(Alice知道一些秘密).他们有下面的一般范式:Al ...

  7. Jmeter(四十八)_动态线程分析HTML测试报告

    概述 jmeterGUI模式下,性能测试的结果往往误差很大,因为GUI本身就会消耗一部分资源.所以我们常常用命令行去跑性能脚本,得出结果 同时,jmeter在命令行下还可以生成多维度的测试报告,里面包 ...

  8. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  9. 《手把手教你》系列技巧篇(四十六)-java+ selenium自动化测试-web页面定位toast-下篇(详解教程)

    1.简介 终于经过宏哥的不懈努力,偶然发现了一个toast的web页面,所以直接就用这个页面来夯实一下,上一篇学过的知识-处理toast元素. 2.安居客 事先声明啊,宏哥没有收他们的广告费啊,纯粹是 ...

随机推荐

  1. Docker中上传镜像到docker hub中

    原文参考:https://blog.csdn.net/sk_grace/article/details/81220675 申请Docker hub账号首先在https://hub.docker.com ...

  2. Java的Stream流式操作

    前言 最近在实习,在公司看到前辈的一些代码,发现有很多值得我学习的地方,其中有一部分就是对集合使用Stream流式操作,觉得很优美且方便.所以学习一下Stream流,在这里记录一下. Stream是什 ...

  3. drf之接口规范

    web接口 # 请求工具:postman => https://www.getpostman.com/ # 接口:url链接,通过向链接发生不同的类型请求与数据得到相应的响应数据 # http: ...

  4. 突破Java面试-Redis集群模式的原理

    1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以 ...

  5. VC 在桌面上绘制一些图形

    注意:这是在桌面上绘制图形.如果想在VC++ MFC工程的视窗口上绘制图形.可以这么来,在工程View类的一个菜单响应(或者鼠标单击等事件的的响应)函数中添加下面main 中的代码,只需要将“红色字体 ...

  6. 12、微信小程序实现授权

    在index.wxml中: <!--index.wxml--> <view wx:if="{{isHide}}"> <view wx:if=" ...

  7. APS系统如何让企业实现“多赢”?看高博通信是怎么做的

    高博通信(上海)有限公司凭籍在超精密产业中的技术积累, 强大的资金优势以及与一流大学的联合,使得其正成为国内超精密电子制造行业的领导者. 雄厚的技术实力和专业的团队赢得了波音,空客公司等国际航空器制造 ...

  8. HttpUtils请求工具类

    package com.cmcc.hybj.payment.framework.https; import java.io.UnsupportedEncodingException;import ja ...

  9. mysql 使用 MD5函数 校验账号密码

    项目中账号密码需要加密操作,数据库用户表账号是明文,密码是密文,但是前端传递过来的都是密文,所以需要到数据库中加密账号和前端传递过来的密文做校验. 这时候就可以使用md5函数. 使用案例: SELEC ...

  10. Redis学习总结整理

    基本操作 设值 set KEY VALUE 获值 get KEY 设置过期时间(单位:s) set KEY VALUE ex SECONDS 设置过期时间(单位:s) exprire KEY SECO ...