Jmeter进行接口流程测试
Jmeter进行简单的流程测试
此次完成的流程:添加文章-删除文章
总的如下:
一、测试计划
用户定义的变量中,我定义了3个变量:
二、HTTP cookie管理器
填写要添加的cookie
三、JDBC Connection Configuration
连接数据库,添加文章操作后要去数据库检查是否添加成功。其实这里可以把数据库的地址、用户名、密码都参数化,写在测试计划中,方便更改。
四、添加文章
title为测试计划中的时间戳变量。在有些系统有重复数据校验时一般可以用时间戳来解决。
五、获取表中最后一条数据,检查是否是添加的title。
六、beanshell断言
给第五步的jdbc request添加beanshell断言,判断查询出的最后一条数据的title是否与添加的一致。
代码如下:
if ("${article_last3_1}".equals("${sjc}")) { Failure = false; FailureMessage = "测试计划中的时间戳 等于 数据库中最后一条数据的标题"; log.error("success 测试计划中的时间戳 等于 数据库中最后一条数据的标题"); } else { Failure = true; FailureMessage = "测试计划中的时间戳 不等于 数据库中最后一条数据的标题"; }
七、删除文章
八、删除文章-检查删除结果
我常用的两种方法:
1、进数据库最暴力:查询数据库article表中最后一条数据的id是不是是刚刚查询出来的id,或者检查article表中的数据条数,等等
2、添加响应断言最简单:检查响应文本是否包含success(需先确定删除成功会返回success),或者响应代码匹配200,等等
最后再记忆一下,查询article表中最后一条数据:select * from article order by id DESC limit 1;