Jmeter自动化接口测试

以前Jmeter主要是用来做性能测试的,现在有很多人开始使用Jmeter来做自动化接口测试,Jmeter也在很多人的努力下走到了3.2版本,今天就来聊一聊这个。

适用情况:团队成员代码能力偏弱,但所要测试的接口并不是简单的增删改查的接口,而是多个接口有逻辑依赖的,测试相对比较麻烦的情况下,建议使用Jmeter。

一般的实施:jmeter + ant + jenkins,这个网上资料很多就不写了,也可以针对报表做二次开发,或者再集成到测试管理系统,或者集成到接口管理平台。

那其他情况呢?我觉得可以考虑用别的方法,比如用testNG+httpclient(unirest)或者unittest(RF)+requests做成框架甚至加上前端编辑调用前台等,或者直接用Java+spring boot直接做成站点来测,这个以后可以讲讲。

今天重点讲讲怎么来写jmeter接口自动化脚本,因为我觉得跟写性能脚本还是有区别的。

直接上一个例子:


Jmeter自动化接口测试_第1张图片

1、每种业务类型的测试作为一个线程组,每个测试用例作为一个事务控制器,每个测试步骤作为一个sampler。

2、每个线程组都有Debug Sampler和查看结果树方便调试。

3、增加数据初始化操作,如有需要也可以再加结束后操作。

4、用户自定义变量这部分其实也可以做成数据驱动。


Jmeter自动化接口测试_第2张图片

1、有用到BeanShell Preprocessor,用来生成测试数据,里面有import进来自己写的工具类jar包(放在lib中)

2、有用到If 控制器,当不满足条件时就不需要走后续的测试。


1、如果碰到比较复杂的校验点时,可以考虑用Beanshell断言。

2、如果想把测试情况写入到数据库中,从而可以在web页面看到测试情况并进行展示统计分析,那么也可以考虑写BeanShell PostProcessor。当然我觉得一般情况下不需要这样来实现,直接解析结果文件即可。

由于是公司项目的脚本,具体内容我就不贴了,只是分享一下我的一些实践体会,Jmeter不同的人有不同的用法,关键自己觉得好就可以,感觉3.2版本比之前2.13要多加了不少功能,特别是配合插件之后,大家可以去试试。

你可能感兴趣的:(Jmeter自动化接口测试)