软件培训网

欢迎访问软件培训网!招生咨询电话与微信:15225191462(周老师)
软件培训网,专业解决学IT疑难杂症!

首页 > 软件测试/ 正文

自动化测试框架之robot framework的应用分析

2012-09-22 08:18:39

  序言:很多人都对自动化测试框架痴迷,我曾经也痴迷过一段时间,以前觉得自己对框架说的头头是道,现在回过头来看以前,说归说,但在如何应用还是欠缺,这一段时间,自己经历了一系列框架的构建和应用的时期,所以,我想主要从实际原理和应用上来说说测试框架,这些框架包括:关键字测试框架robot,基于各种语言的STAF框架,集成测试框架Fit(husdon),以及elipse TPTPd性能测试框架等。这不是一套工具教程,而是一套应用的简单思想,个人难免有局限性,见谅。LBH软件IT培训网-河南郑州IT培训

  首先,看看robot framework吧LBH软件IT培训网-河南郑州IT培训

  一、robot介绍LBH软件IT培训网-河南郑州IT培训

  大家上网查robot,相信能查到这么几个资料;LBH软件IT培训网-河南郑州IT培训

  1、robot的快速入门,就是如何简单使用robot,这是翻译过来的教程。个人觉得,一般人拿到这个教程容易懵,因为你是在不了解其原理的基础上操作,所以会遇到很多问题而无法向下进行。LBH软件IT培训网-河南郑州IT培训

  2、 robot的源码分析,讲讲robot怎么一步一步工作的,现在robot框架不断升级,这个源码分析教程有点旧了,所以代码有些不一样。LBH软件IT培训网-河南郑州IT培训

  Robot是一个完全基于关键字测试驱动的框架,它即能够基于它的一定规则,导入你的测试库(例如:其集成了selenium的测试库,即可以理解为操作web控件的测试底层库),然后基于这些测试库,你能应用HTML、TXT等文档形式编写自己的关键字(这些关键字即你的库组成),之后,再编写测试用例(测试用例由测试关键字组成)进行测试。例如:一个简单的登陆测试由:登陆+输入密码+登出三个关键字组成,也可以由一个关键字登陆组成,关键字颗粒的大小可以自行定制。LBH软件IT培训网-河南郑州IT培训

  二、robot原理LBH软件IT培训网-河南郑州IT培训

  robot的基本运作流程如下:LBH软件IT培训网-河南郑州IT培训

  1、robot开始测试是从cmd命令输入,robot初始运行程序接收命令字符(主要是用TXT或者HTML写的测试用例集)LBH软件IT培训网-河南郑州IT培训

  2、接收之后,robot先生成初始化全局变量配置,主要是定义一系列的字段名称和文件名称(例如:日志文件名称等)(由settings.py中的类完成)LBH软件IT培训网-河南郑州IT培训

  3、之后,开始解析用例文件,生成数据对象,数据对象中包含了测试集的各种数据,例如:测试用例集名称、各个测试用例名称、各个关键字名称等。LBH软件IT培训网-河南郑州IT培训

  4、将测试数据对象传送给测试集合类处理,生成测试集suite对象.LBH软件IT培训网-河南郑州IT培训

  5、之后,进行suite中的用例测试,然后调用关键字,找到关键字对应的库文件,进行操作。LBH软件IT培训网-河南郑州IT培训

  6、每一个操作和结果都写在输出的xml文件中(有专门调用对输出xml进行操作的类)LBH软件IT培训网-河南郑州IT培训

  7、测试完成后,调用转换类将xml文件转换成相应的HTML日志报告,测试完成。LBH软件IT培训网-河南郑州IT培训

  三、robot的应用LBH软件IT培训网-河南郑州IT培训

  robot的缺陷在于不够灵活,有些地方对我们普遍不适用,所以,我们需要会将robot分解,取之我们能用的,以下提供几个分解方式LBH软件IT培训网-河南郑州IT培训

  1、robot的需要用命令行的方式去启动测试,我们可以更改为自行写一个测试执行客户端界面,选取相应测试用例集合,下发到robot框架的程序入口。LBH软件IT培训网-河南郑州IT培训

  2、robot的用例格式需要固定,而我们很多时候都有自己的自动化测试用例编写规则,这样的话,我们可以写一个转换器,可以将自己的测试用例解析文件解析为robot可识别的用例文件。LBH软件IT培训网-河南郑州IT培训

  3、第2个的另外一种解决方法就是:做一个数据解析器,将我们的测试用例生成传送给测试集合的数据对象的对象规范LBH软件IT培训网-河南郑州IT培训

  4、Robot的日志文档很好,如果我们有自己的关键字测试框架,但需要调用robot的日志api,则可以:1)因为robot是解析xml文件生成Html的,我们可以调用python的xml操作库生成符合robot的xml格式的输出文件,然后调用robot的转换库生成Html即可。2)我们可以直接重构robot的xml输出类,简化成我们的形式即可。LBH软件IT培训网-河南郑州IT培训

  而在实际脚本的应用好处就是LBH软件IT培训网-河南郑州IT培训

  1、关键字思想驱动的好处就是应用封装的思想,保证了上层脚本的变动性可控,增强了维护性。LBH软件IT培训网-河南郑州IT培训

  2、容易定位问题,一般我们定位测试问题,首先,是从用例—功能—单个操作。而线性脚本则是相反的,所以会不好定位。LBH软件IT培训网-河南郑州IT培训

  总结:LBH软件IT培训网-河南郑州IT培训

  1、很多框架不一定能拿来就用,我们要做的是分析源码,学会拆分框架,取之自己能用的,开源的框架一般代码结构都挺良好,接口定义挺清楚。尽可能的不要造车的同时还要自己造轮子。LBH软件IT培训网-河南郑州IT培训

  2、从robot上面,我们可以很好的学习到关键字测试驱动思想和数据测试驱动思想的应用。LBH软件IT培训网-河南郑州IT培训


Tags:郑州北大青鸟java大数据培训,郑州软件程序员培训机构,郑州北大青鸟招生电话是什么,郑州软件培训机构哪家口碑好,郑州软件测试培训机构,2018年郑州java培训机构排名

搜索
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
热门标签
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
  • QQ交谈