Jmeter+Ant+Jenkins框架搭建

Posted gaoxiaoru

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter+Ant+Jenkins框架搭建相关的知识,希望对你有一定的参考价值。

  1. 为什么要做自动化测试
  2. 什么项目适合做自动化测试
  3. 选择UI自动化还是接口自动化
  4. 接口自动化工具对比
  5. Jmeter+Ant+jekins框架搭建

一、为什么要做自动化测试?

假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误。

有点:提高效率、质量

自动化测试:人为驱动的测试行为转化为机器执行过程(在手工基础上)

二、什么项目适合做自动化测试?

1.什么项目适合?

需求稳定,不会频繁变更(项目稳定)

研发和测试周期长,需要频繁执行回归测试

需要在多种平台上重复运行相同测试的场景(兼容性测试)

某些测试项目通过手工测试无法实现,或手工成本太高

被测软件的开发较为规范,能够保证系统的可测试性

2.什么阶段编写自动化脚本?

项目稳定后,编写自动化用例更得心应手,原因:

项目基本没有bug,方便写断言(断言类似于手工测试里的预期结果)

手工测试时用例已编写完成,自动化测试脚本完全可以根据手工测试去实现

3.什么阶段进行自动化测试?

项目测试流程:冒烟测试-新需求测试-兼容性测试-回归测试

       冒烟测试:测试流程的重要起点

  新需求测试:测试过程中学习、探索最集中的测试

  兼容性测试

  回归测试:稳定功能是否收到新功能影响的测试

回归测试和兼容性测试适合进行自动化测试,前者需要执行大量回归测试用例,后者需要重复执行

三、选择什么类型的自动化测试

自动化测试分类:

UI自动化(效率低、成本高、用户操作真实性强)

接口自动化(用户操作真实性不强)

单元测试

性能测试

UI自动化和接口自动化可以产生互补测试(采用方法)

四、接口工具对比

接口工具应满足的需求:

接口编写方便

方便调试接口

支持数据初始化

生成测试报告

支持参数化

接口测试工具对比:

Fiddler:抓包神器,http协议调试代理工具,能够记录互联网之间的http协议通信,可以设置断点,查看所有“进出”Fiddler的数据(如cookie,html,js,css等文件)

可以进行接口测试,不能断言

Postman:

能够发送任何类型的HTTP请求 (GET, HEAD, POST, PUT..),可以进行文件上传、响应验证、变量管理、环境参数管理,还可以批量管理和运行用例,并支持用例导出、导入,可以进行接口的自动化测试

缺点是自动化断言不够强大,不能和jenkins、代码管理库进行持续集成测试

soapUi:

开源测试工具,通过soap/http来检查、调用,实现Web Service的接口和性能测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。

Jmeter:

是一款100%纯Java编写的免费开源工具,主要用来做性能测试,但也可以做接口测试,配合后置处理器与断言,可以满足大部分的接口测试场景,JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本,通过jmeter+ant+jenkins可以实现接口和性能自动化测试。

代码实现

java代码实现接口测试:java可以通过httpclient.jar包,利用JUnit或者TestNG这样的单元测试工具进行用例编写,结合jenkins实现接口持续集成测试。 

python代码实现接口测试:python可以利用强大的第三方库Requests实现接口用例编写,结合unittest单元测试框架,生成测试报告,也可以和jenkins做持续集成测试。

为什么要代码实现接口测试?

工具有限制,很多测试场景工具很难模拟,场景和数据构造复杂,代码可以实现接口,统计结果展示灵活。自己写测试框架与代码。

中小型项目推荐使用postman和jmeter,对于大型项目还是利用代码实现。

五、jmeter+Ant+Jenkins框架搭建

大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并手机结果生成报告,可以跨平台;Jekins是持续集成工具。将这三者结合起来可以搭建一套WebHTTP接口测试的持续构建环境,实现接口自动化测试,基于win

  1. 安装jmeter

    1.1下载安装包

      Jmeter依赖java运行环境,需提前下载jdk并配置环境变量

      官网下载:http://jmeter.apache.org/download_jmeter.cgi

      下载完后直接解压

    1.2配置环境变量

      JMETER_HOME为jmeter安装路径

      CLASSPATH为%JMETER_HOME%\\lib;

      PATH为%JMETER_HOME%\\bin;

        1.3安装验证

          命令窗口输入jmeter –v回车,能出现jmeter版本则说明成功

 技术图片

          可以直接在命令窗口输入jmeter回车后启动jmeter;也可以在点击jmeter.bat文件启动jmeter

 技术图片

    1.4在jmeter上调试通一个接口(如果是多个接口,按照jmeter方法添加即可)

 技术图片

  1. 安装Ant

    2.1安装包下载

      官网下载(http://ant.apache.org/bindownload.cgi),我用的1.10.1版本,下载完直接解压

    2.2配置环境变量

      ANT_HOME为ant解压位置

      CLASSPATH为%ANT_HOME%\\lib;

      PATH为%ANT_HOME%\\bin;

    2.3安装验证

      验证安装结果,命令行输入ant –v,出现版本信息则安装成功

 技术图片

  1. Ant配置Jmeter:用ant构建命令来调动执行jmeter接口测试,并生成测试报告

    3.1配置库文件

      将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中, 这样ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本

    3.2配置ant的编译文件build.xml

      在jmeter根目录下创建一个存放脚本和报告的文件夹testcases

      在testcases文件夹下新建build.xml文件,修改文档里的内容

    注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建

    代码中不能存在tab键否则会编译失败,要执行的脚本也要指定好,否则也会有问题

    按实际情况修改如下文档:

 技术图片

 技术图片

 

 

https://www.cnblogs.com/autobyme/p/8387407.html---该博客里面可以复制build.xml里的配置

3.3配置jmeter.propertise文档

在jmeter/bin目录下找到jmeter.properties文档,打开该文档编辑,修改jmeter报告输出格式为xml

改jmeter.save.saveservice.output_format=csv为jmeter.save.saveservice.output_format=xml,并去掉前面注释符号#

 技术图片

 

 

3.4验证配置,执行构建测试

将之前jmeter脚本保存,并将build.xml配置文件放在与测试脚本相同目录下,目录如下:

 技术图片

 

 

3.5执行测试

在build.xml所在目录打开命令窗口,输入ant run,执行测试

 技术图片

 

 

3.6查看测试报告

在报告输出存放路径下查看是否有jtl和html结果报告,存放路径在build文档中也有

打开html文档,测试结果展现执行的用例名称、成功率、用例执行时间等结果参数

 技术图片

 

 

这样的结果不太直观

3.7优化测试报告

(1)下载优化模板jmeter-results-shanhe-me.xsl,拷贝到jmeter的extras目录中

 技术图片

 

 

(2)设置测试输出报告要输出的内容:同样在jmeter.properties中,设置需要输出的内容为true,并去掉前面的注释符号#,这里全部设置成true—保存

 技术图片

 

 

(3)设置build文件的报告模板为优化后的模板jmeter-results-shanhe-me.xsl

 技术图片

 

 

 

(4)再次用ant构建测试,查看优化后的测试报告

 技术图片

 

 

 

  1. 安装jenkins(两种方式)

4.1下载安装包解压

https://jenkins.io/download/

1.下载msi文件(双击安装)

 技术图片

 

 技术图片

 

 

 

2.用servlet容器来部署jekins,使用的是tomcat

https://www.cnblogs.com/dreamyu/p/6480980.html

4.2启动jenkins

安装好之后,浏览器输入http:localhost:8080

 技术图片

 

 

从安装目录jenkins\\sercrets找到initalAdminPassword文件,填写密码

选择插件的安装方式,选择按推荐方式安装

创建第一个管理员账户

 技术图片

 

 

或者直接跳过该步骤,使用默认的admin和administrator登录

4.3配置jenkins

1.这里需要配置invoke ant插件、HTML测试报告真实的插件

(1)在jenkins创建管理中安装HTML Publisher Plugin 和Ant in Workspace(如果在刚开始默认推荐安装插件里安装了ant,这里就不用下载ant插件)

(2)在jenkins中系统管理-系统设置中,配置jdk和Ant

 技术图片

 

 技术图片

 

 

 

2.新建并配置一个项目

 

 技术图片

 

 技术图片

 

 技术图片

 

 

 

注意:ant构建项目,默认执行的是Jenkins中workspace下的脚本,如果workspace下没有脚本则构建会报错,将脚本和build.xml文件都放置workspace目录下(我放在jmeter下)

 

 技术图片

 

 技术图片

 

 

注意:Index page[s]:的值(TestReport.html)是与build.xml中设置的测试报告名称一致,否则在Jenkins中查看不了测试报告

 技术图片

 

 技术图片

 

 

 

脚本配置完成

4.5项目主页,点击立即构建,执行测试

 技术图片

 

 参考资料:

https://www.cnblogs.com/autobyme/p/8387407.html

https://www.cnblogs.com/wulixia/p/11011793.html

https://blog.csdn.net/XingLongSKY/article/details/91536924

 

以上是关于Jmeter+Ant+Jenkins框架搭建的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+ant+Jmeter接口自动化框架搭建

Jmeter+Ant+Jenkins邮件配置问题总结

jmeter+ant+jenkins接口自动化测试框架

风靡全网的Jmeter+ant+jenkins接口自动化测试框架

风靡全网的Jmeter+ant+jenkins接口自动化测试框架

搭建基于Ant+Jmeter+jenkins的自动负载测试框架的若干问题记录及解决