¶jenkins+ant+jmeter+svn 接口自动化测试
jenkins + ant + jmeter + svn 环境搭建
原来这个环境是我这边搭建的,
主要是几个步骤,
第一 Jenkins 安装、第二,ant 安装、第三, jmeter 安装、第四, jmeter 与 ant 连接
第五,Sn 安装、第六,任务的构建
首先我们要确定 jdk 已经安装好了,jdk 安装,可以下载 jdk 包,配置环境变量就行
再 jenkins 搭建,原来我们是用 yum 安装命令, yum install -y jenkins 安装 jelkins
如果 yum 安装不能进行,yum 仓库添加 jenkins 连接信息
或者就用下载安装包进行安装
ant 安装,我们可以百度去下载,
像原来我们这边一般会把常见安装包文件执行,我都会保存一个安装文档,
当下载 ant 安装包以后,只需要解压,并且配置环境就可以了
jmeter 安装,也是先下载安装包,把安装包导入到 linux 服务器,解压,配置环境变量就 ok 了
jmeter 跟 ant 连接,主要是配置 build.xml 的文件,
文件目录放在 jmeter 目录下,build 文件主要是配置,
jmeter 的路径,保存生成 html 跟 jtl 报告的路径,还运行 jmx 脚本的路径
把 jmeter 文件 ant-jmeter-1.1.1.jar 放在 ant 目录下
把 jmeter-results-shanhe-me.xsl 上传至 jmeter 安装目录的 extras 文件夹下
也要配置 jmeter.properties 文件把输出结果由 csv 修改成 xml
配置完成后,我们可以用 ant run 运行调试下,能否运行脚本成功
svn 服务器安装,原来已经安装好
安装,通过 yum 安装到服务器里面,建立资源库,配置里面配置文件,添加用户,修改权限,再通过,
svnserve -d -r /data/svn/ 启动服务器,同时我们要考虑防火墙是否允许访问或者关闭防火墙
jenkins 任务的构建
在 jmeter 系统配置中,先要添加环境变量,主要是 jdk 的路径,ant 的路径 (linux 服务器里面的路径)
添加 2 个插件,一个 html publisher pulin 主要生成 HTML 报告,一个 performance
pgn 运行 jmeter 脚本生成 jtl 报告
再构建一个任务,
在任务中
丢弃旧的构建,
再源码管理,配置 svn 服务器路径,导出文件位置,还有 svn 用户与密码
配置生成 jtl 报告的位置
配置生成 html 报告的位置
配置定时构建,原来我们设置设置半个月跑一次
还配置邮件发送 (jenkins,系统配置,配置邮件服务器地址)
原来我们持续集成是半个月运行一次,当然我们也可以手动构建
1,我们一般把写完的 jmeter 的脚本
2,通过 svn 把写好的脚本检入到 svn 服务器
3,在 jenkins 任务下,选择定时构建,或者手动构建,检出 svn 上传最新脚本,去运行一般我们项目在修改新的功能模块,上线,转测之前,都会自动去运行脚本。
运行完成,我们再 jenkins 下,查看脚本运行结果。
¶jenkins 如何使用
原来我们主要是用来,持续构建环境还有我们的自动化脚本的运行
比如说: jmeter 接口自动化脚本
原来我们 jmeter 脚本运行,在 jenkins 里面,首先先建立一个任务,再从 svn 服务器中导出 jmx 脚本,设置定时器,原来我们都是早上 B 点钟自动运行,构建 ant run 运行,后面添加生成的 html 根告跟 jtl 报告,运行完成后,我们进行邮件提醒,我们只需要查看邮件,直看运行结果就 ok,出现了问题,我再去找开发修复问题。
后续我们编写完成的接口自动化脚本,只需要通过 svn 检入到 svn 服务器即可,就会每天定时去运行,查看结果就好。
比如说: pytest 框架自动化脚本
也是构建一个任务,设置源码管理,从 svn 导出源码,原来我们都是手工构建,没有建立定时任务,执行 shell 命令 python pytest -m 测试用例的路径,
设置生成 allure 报告,建立邮件提醒,后面的工作当中,如果要运行 pytest 框架编写脚本
只需要通过 svn 把代码导入到 svn 服务器,手工构建,运行完成后,发送邮件提醒运行结束,如果有错误,可以在 jenkins 平台里面去查看 allure 报告。
搭建环境这块,原来不是我做的,大概的流程。
原来我们构建测试环境,先建一个任务,源码管理,从 svn 服务器导出源码进行构建,运行 she 令,包的解压跟替换,重启服务,建立一个邮件提醒。后期每次需要提测或者转测的时候,只需要去手动构建这个任务即可。里面还有一些,dev 环境,部署,线上环境部署,但是一般我们测试就没有怎么操作,但是原理都是一样。