天天看点

jmeter性能测试_Jenkins+Jmeter性能测试自动化

Jenkins+Jmeter性能测试自动化

实现基于linux平台下的性能测试自动化,采用了jenkins+gitlab+jmeter+shell的方式,为什么采用shell是因为这种方式更加灵活,还有一种ant的方式,较为复杂,可以定制化输出的测试报告模板。

踩过的几个坑

基于Linux在jenkins中实现性能测试自动化

1、需要在linux下安装jenkins作为持续集成工具平台;

2、将jmeter和jenkins安装在同一台服务器,跨服务器的没有尝试过;

3、为了实现测试代码可管理并触发测试自动执行,采用gitlab作为代码仓库;

4、创建gitlab的webhook提供给jenkins的job的trigger调用;

5、编写jmeter脚本,在客户端定义并实现自定义参数的参数化构建;

6、Jmeter的参数化文件的跨平台问题在前一篇文章已经解决;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

SCM:git+gitlab

1、创建并初始化本地git仓库,与远程gitlab仓库进行关联;

2、添加jmeter文件到本地仓,推送本地jmeter脚本到远程仓库;

3、在gitlab创建的webhook触发jenkins任务并构建jmeter脚本执行测试;

4、完成性能和接口测试,在jenkins控制台输出html测试报告;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

CI: gitlab+jenkins环境配置

1、创建gitlab远程仓库;

2、jenkins创建用户访问gitlab的凭据,用于构建jenkins任务时访问gitlab仓库内的jmeter脚本;

3、jenkins创建job配置属性中构建触发器设置:Build when a change is pushed to GitLab. GitLab webhook;

4、jenkins的job中生成secretToken;

5、gitlab 存储代码的仓库中,选择jmeter仓库在设置中选择“集成”,配置jenkins构建job的地址url和secretToken;

6、测试gitlab和jenkins的push event成功,webhook可用;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

Jmeter: jenkins+jmeter环境配置

1、在linux的jenkins服务器上安装jmeter,配置jenkins环境变量;

2、jenkins安装publish html report插件;

3、jenkins job 添加 jmeter脚本执行场景所需要的自定义变量;

4、添加execute shell脚本调用jmeter脚本和校验脚本执行结果;

5、如果使用分布式架构进行测试,主控Jmeter与Jenkins安装在同一台服务器即可;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

Linux Shell: Shell编写事项

1、在jenkins的workspace下创建jmeter性能测试的日志工作目录;

2、反复执行jmeter job需要清理历史数据,例如jtl,html测试报告;

3、如果有参数化数据文件,需要将数据文件移动到jmeter的bin目录下;

4、参数化jmeter测试场景时使用的线程、循环次数、执行时长需要在jmeter客户端提前定义才能引用;

5、为了保证测试的完整性,脚本执行完成后需要判断脚本是否存在错误,执行是否成功;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

需要说明的几点

基于Linux平台的Jmeter性能测试自动化

1、需要熟练掌握git和gitlab;

2、如果要使用shell,需要掌握shell编程,如果ant用的很好,也可以用ant不需要写代码;

3、掌握jmeter的基本使用即可,需要在本地调试脚本可用后,再做推送动作;

4、完成前面提到的一些步骤既可以实现本地git仓推送到远程gitlab后,自动触发jenkins完成自动化性能测试;

5、测试结束后,可配置邮箱服务,发送测试邮件到相关人员邮箱;

jmeter性能测试_Jenkins+Jmeter性能测试自动化

继续阅读