专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

基于Jmeter和Testlink的自动化测试框架研究与实施

51Testing软件测试网  · 公众号  · 测试  · 2017-03-02 17:30

正文


  一、摘 要

  目前基于Jmeter的接口自动化测试框架,大多只实现脚本维护和自动调度,无法与Testlink进行互通,实现测试方案与自动化实施流程连接,本文基于Testlink、Jmeter、Jenkins实现:通过Testlink统一维护接口自动化测试用例,Jmeter编写和运行测试脚本,Jenkins实现统一调度,并返回执行结果和测试报告到Testlink。从而实现整个接口自动化测试框架,提高测试效率,降低后续维护成本。

  为了实现项目快速开发-测试-交付,测试需要在项目开发过程介入,进行接口级别测试,并输出自动化测试脚本,便于后续集成测试使用自动化测试保证每次BUG修复,没有引发新的问题,故需要研究一种自动化测试框架,满足目前项目测试的需求

  二、需求梳理如下:

  (1) TestLink统一管理测试用例:因功能测试用例一直在Testlink上维护。

  (2) 前期已经使用Jmeter进行接口测试,但是没有统一的框架将方案、脚本、实施统一起来,故测试工具必须使用Jmeter。

  (3) 测试脚本统一维护,如:SVN

  (4) 脚本运行时,需要结合Testlink测试计划分配用例,将自动化运行结果返回到Testlink。

  (5) 测试结束后,生成测试报告,统计自动化测试总体情况,并邮件发送给项目相关人员。

  三、整体框架

  以上是整体框架的思路介绍:

  · TestLink负责接口自动化用例维护

  · Jmeter则负责脚本编写和运行,统一通过SVN进行维护

  · 另外邮件收发服务器则根据内部情况灵活选择

  · 整个过程统一由Jenkins 进行调度管理;

  四、技术关键

  (1) Testlink仅支持三种格式的结果返回:Junit、TestNG、TAP ,Jmeter生成报告无法直接通过Jenkins传递给Testlink,并正确识别。

  (2) TAP格式文件与Testlink中对应用例关联是通过.tap文件关联的,即:一个用例就需要一个TAP文件,但是测试结束后需要输出整体测试结果,必须要求Jmeter测试结束后,输出一个测试结果文档,如果将测试结果转化为TAP文件,且实现与用例一一对应。

  五、实现思路

  本章给出第4章提到键技术点的解决,在说明前,需要以下前提准备:

  1、 规范化Jmeter脚本中的规范要求:

  1) HTTP Sample命名规范为:

  2) 如果1条用例对应有多个HTTP Sample,用例编号与用例名称部分必须一致

  3) 每一个HTTP Sample最好都要有断言,判断是否执行成功,若没有断言,无法判断是否符合预期,则转换脚本默认为成功。

  2、 TestLink上增加自定义字段,用于标记用例与脚本的对应关系,如:AutoTest,AutoTest字段内容则为:上述中的用例编号,用以将Testlink测试用例与脚本测试结果关联对应

  3、 TestLink上自动化的用例执行方式设置为:自动的

  5.1、关键点实现思路

  以下则是XML2TAP.sh的设计思路,根据以下思路输出sh脚本

  5.2、具体实施过程

  具体的实施过程,如下述图所示:

  1. Jenkins每次执行时,首先从SVN指定目录,下载所有测试脚本。

  2. 通过API key与Testlink建立关联,并获取工程配置的测试项目对应测试计划下的自动化测试用例信息。

  3. 调用Ant Plugin插件,通过build.xml配置,执行所有的Jmeter脚本文件,并生成XML格式测试报告:1份。

  4. 对XML测试报告进行二次处理,调用XML2HTML.xsl样式表,生成HTML格式测试报告。

  5. 对XML测试报告进行转换,生成Testlink可识别的TAP文件,以用例为单位,生成多个tap文件。

  6. 将tap文件与第二部中获取的自动化用例信息对应,返回测试结果及测试报告到Testlink。

  7. 将第四步生成的测试报告邮件发送给相关人员。

 
推荐阅读

点击阅读☞Jmeter服务器监控插件使用

点击阅读☞搭建嵌入式产品自动化测试框架全过程

点击阅读☞简易Selenium自动化测试框架(Python)

点击阅读☞Web Service接口自动化测试框架

点击阅读☞自动化测试框架思路简单分享


参与调查,与51Testing一起总结2016!

推荐文章
乐趣微生活  ·  搞笑视频集锦,笑的肚子疼~【NO8】
7 年前
债海观潮  ·  【国信宏观固收】私募EB每周跟踪
7 年前
笑点研究所  ·  看个牙医居然还打马赛克?
7 年前