自动化测试系列:基于Jmeter的自动化测试实施方案设计

前言:apache

Jmeter是目前最流行的一种测试工具,基于此工具咱们搭建了一整套的自动化方案,包括了脚本添加配置、本地配置和运行、服务器配置等内容,完成了自动化测试闭环,经过这种快捷简便高效的方式,但愿能够解决自动化测试上手难的痛点。下面闲言少叙,咱们直接切入实战:json

 

1、准备自动化测试物料服务器

    一、开发运行工具Jmeter,(下载地址: http://jmeter.apache.org/download_jmeter.cgi多线程

            

 

 

    二、开发环境为已发布ready;并发

    三、测试脚本已准备ready;app

    四、脚本运行环境已准备(fat或者uat);工具

 

2、自动化测试经过标准post

    一、成功Status 返回200 ;性能

    二、失败返回40四、500等;测试

    三、每一个脚本专用断言;

 

3、自动化脚本存储

    脚本所有存储在Gitlab仓库中,(脚本的存储规范请参考:GitLab Jmeter测试包通用设计1.0版)

项目根目录新建文件夹,前面文件夹名和项目名保持一致,后缀加“-test”,以下图文件夹:

 

    

 

 

 

4、自动化测试Script Rules

    一、脚本命名为接口名

    二、存储类型为后缀jmx的文件

    三、线程数设置为1(冒烟测试无需多线程并发)

    四、必须包含断言判断,状态检测设定为200

5、自动化测试Script Steps

    一、添加线程组,脚本命名为接口名,点击存储 为后缀jmx的文件

    二、将线程数设置为1,其余设置为默认(以下图)

    三、循环次数为不循环,调度器不设置,其余参数不设置(以下图)

            

 

 

   

    四、配置http协议选项:

        a、添加http请求,线程组右键“添加”,选择“Sampler”,再选择“HTTP请求”:

              

 

 

        b、请求为post or get(以下图,此处根据实际状况设置为POST)

        c、内容编码:UTF-8(以下图,此处根据实际状况设置为UTF-8)

        d、Request报文:填入Body Data(以下图,此处根据实际状况设置Request报文内容)

                

 

 

   

 五、配置断言选项,线程组右键“添加”,选择“断言”,此处选择“响应断言”。注意能够根据实际状况选择其余断言类型:

        a、添加响应断言,以下图所示;

            

 

 

        b、选择响应字段为响应代码,以下图所示;

        c、匹配规则选择为包括,以下图;

        d、测试模式填入200,以下图(此处为开发自定义返回码,请根据实际状况设置);

            

 

 

 

 

 六、添加“HTTP信息头管理器” ,在测试计划点击右键“添加”菜单,选择“配置元件”,再选择“HTTP信息头管理器” (即为HTTP Header Manager),以下图:

            

 

 

    可根据实际状况添加Content-Type等内容,例如此处value设置为:application/json,以下图范例:

 

 

 

七、添加“查看结果树”,在测试计划点击右键“添加”菜单,选择“监听器”,再选择“查看结果树”:

 

 

 

运行成功或失败,分别能够查看结果树详情,以下图所示,查看响应数据,能够看到response报文:

 

 

下图是一个运行失败结果的断言,断言失败的信息也会有详细说明:

 

 

 

八、添加"用表格查看结果",在测试计划点击右键“添加”菜单,选择“监听器”,选择“用表格查看结果”:

 

 

添加后每次测试计划运行结束,能够查看所有线程组的运行结果,以下图所示:

 

 

 

九、添加“聚合报告”,在测试计划点击右键“添加”菜单,选择“监听器”,选择“聚合报告”:

 

 

聚合报告主要用来收集本次测试计划运行的一些重要的性能指标数值,例如Average、90%Line等等,添加后每次测试计划运行结束能够查看到指标的有效数据,以下图范例:

 

 

 

6、本地执行

 

一、在当前测试计划中,根据上述范例逐一添加本次须要运行的自动化脚本,添加完成后的效果以下所示:

 

 

 

二、运行当前测试计划的所有用例,而后用查看所有运行结果以下:

 

 

 

 

三、一样在结果树,能够查看所有失败用例的详细报文:

 

 

 

7、服务器配置和运行(Jenkins/TFS)

因为job最底层调度由Jenkins实现,本小节重点介绍如何配置job参数等内容。TFS方面只须要经过接口或者命令行的方式,直接调度Jenkins便可。

一、Job命名规范,定义在Jenkins中job的命名规范,以下图所示,以“JMETER”开头后面是服务名:

 

 

二、添加构建配置,如图所示,其中devops是基于Python编写的打包脚本,/sso-support-test是Jmx脚本文件地址,report_server是邮件服务,mail是报告接收人的邮箱地址:

 

 

三、构建触发器配置:如图所示,这里配置每两分钟去轮循检查服务器是否有更新:

 

 

四、源码管理:添加并选择Git仓库,而后配置Repo地址,最后选择分支dev(非强制)

 

 

8、服务器生产自动化报告

自动化报告目前支持两种形式,邮件和Html报告查看。

一、邮件方式报告查看。服务器端配置响应接收人员的邮件地址后,每次自动化运行结束,会自动发送邮件报告到指定关注人,以下图所示:

 

 

 

 

邮件Report中主要包含如下内容:

Summary栏目:包含全部请求的总结,总数,失败数,成功率,平均时间,最小时间,最大时间等。

 

 

Pages栏目:主要包含了单个请求的详情内容:

 

 

Failure Detail:主要是错误详情相关内容:

 

 

 

二、Html报告查看。Html内容展现目前和邮件基本保持一致再也不展开详述,以下图所示:

 

相关文章
相关标签/搜索