Jmeter接口自动化测试框架
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快接口测试可以分为两部分一是线上接口生产环境自动化测试需要自动定时执行每5分钟自动执行一次相当于每5分钟就检查一遍线上的接口是否正常有异常能够及时发现不至于影响用户使用。二是测试环境的接口自动化测试测试时机可以是1、功能开发完成并提测检查一边测试环境的所有接口是否正常有异常则需要解决后再正式介入测试。2、测试完成上线发版前检查一边测试环境的所有接口是否正常有异常则需要解决后再上线发版。jmeter是Apache的一个用java写成用来做接口测试和压力测试的工具有gui界面因为是纯java的所以可以跨平台使用只要有java环境就可以jmeter已经把做接口测试的各种方法封装的很完善稳定所以我们可以直接用来做接口自动化测试不需要自己再去封装各种请求、断言、结果处理等等方法。相当于把jmeter的脚本当作接口测试用例管理工具在脚本里面把要测试的接口、断言都写好。基于jmeter做接口自动化框架包括以下几个部分jmeterjenkinsgithub钉钉机器人tomcatshell脚本java程序包含了这些功能后几乎大部分都可以自动化手工需要做的事情就只有第三步写接口用例并推送到github步骤大致是这样用jmeter写接口—推送到GitHub—jenkins定时自动执行测试从GitHub拉取最新脚本—执行shell脚本—执行java代码处理统计结果发送报告以下是框架具体步骤一、多人协作就需要github来管理在github新建仓库用于存放jmx脚本二、每个测试人员需要下载sourcetree在本地新建本地仓库并关联github远程仓库三、将各自写好的jmx脚本放到本地仓库提交并推送到github四、在服务器上部署jenkins1、配置git源代码管理如果远程仓库是私有类型的则需要配置证书或账号密码每次构建测试时jenkins都会检查远程仓库是否有更新脚本有更新就拉最新的脚本来测试这样也方便修改被测脚本2、设置定时自动构建下面是每天的8点到23点每5分钟构建一次3、设置超时管理为了不影响下一次构建4、配置要执行的shell脚本5、配置构建失败通知钉钉五、在服务器配置tomcat环境如果是win服务器最好用服务的形式安装tomcat------linux配置tomcat环境-----1、下载Core下的zip包解压到linux的目录2、到bin目录下给catalina.sh和startup.sh赋予chmod 777权限,或者给全部sh文件赋予最高权限chmod 777 *.sh3、sh startup.sh启动在浏览器中输入http://10.10.10.115:8080/出现tomcat页面表示启动成功注意如果访问不成功如果我们想在本机中检测是否已经成功部署那么我们必须关掉Linux中的防火墙或者开放8080端口我在这里采用开放端口的方法。4、用指令sh shutdown.sh停止tomcat的运行继续进行后续操作5、查看防火墙是否开启systemctl status firewalld未开启Active: inactive (dead)已开启Active: active (running)在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理https://blog.csdn.net/ViJayThresh/article/details/81284007开启防火墙systemctl start firewalld关闭防火墙systemctl stop firewalld执行开机禁用防火墙自启命令 systemctl disable firewalld.service开放端口号firewall-cmd --permanent --zonepublic --add-port8080/tcp(只能在防火墙开启的情况下开放端口)6、将要查看的文件放到webapps/ROOT/re.html这里浏览器直接访问http://10.10.10.115:8080/re.html就可以看到了------windows配置tomcat环境-----1、下载安装程序2、双击exe文件安装-选择jre目录-选择tomcat安装目录-选择端口默认8080可修改在tomcat/bin目录双击startup.bat启动服务或者双击Tomcat9w.exe-start3、不用配置环境变量但是需要关闭win防火墙https://jingyan.baidu.com/article/17bd8e52083ce685ab2bb839.htmlwin关闭防火墙的方法六、在服务器配置jmeter环境需要两个jmeter环境jmeter1用来收集jtl结果和生成报告不需要改参数。jmeter2需要收集xml日志把jmeter/bin/user.properties文件在结尾新增参数jmeter.save.saveservice.output_formatxmljmeter.save.saveservice.response_datatruejmeter.save.saveservice.samplerDatatruejmeter.save.saveservice.requestHeaderstruejmeter.save.saveservice.urltruejmeter.save.saveservice.responseHeaderstrue七、shell脚本包括以下几个步骤删除上次的测试结果在tomcat目录中新建index文件夹用于存放本次测试结果挨个执行jmx脚本每个脚本需要执行两次第一次收集jtl结果和生成报告第二次收集xml日志将报告、xml日志文件放到tomcat的目录下执行java程序八、java程序框架核心把写好的java代码打成一个可执行jar包让shell来调用需要包含以下功能1、用时间戳重命名index文件夹保证每次的结果目录不会覆盖2、把xml日志文件cope到index下面3、统计fail接口数量4、收集fail接口的信息5、将信息写成html页面报告并放到tomcat目录下同时用同一个时间戳生成报告的url最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。