利用Robot Framework实现多平台自动化测试

打印 上一主题 下一主题

主题 510|帖子 510|积分 1530

目次

媒介
1、设计目标
2、架构设计
3、平台实现
4、平台的创新点
5、平台的实行结果
6、总结
重点:配套学习资料和视频教学


媒介

基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,乐成打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著进步了测试质量和测试用例的实行服从。

1、设计目标




  • 平台通用且支持不同类型的自动化测试
    平台框架轻量、开放、灵活,有强盛丰富的测试库,全面支撑PC桌面应用(如焦点柜台和网上生意业务系统)、Web应用(如商城网厅)、APP应用(如手机证券)、接口(如柜台周边接口)、数据库(如Oracle)等自动化测试,便于后续持续测试开辟和集中统一管理。

  • 平台支持自动化测试全流程
    平台展示界面统一、清晰、简便,覆盖测试用例设计、测试脚本开辟、测试实行、测试报告生成等流程。通过对测试流程实现统一管理,低落测试职员利用平台的门槛。

  • 平台具有良好的扩展性、易维护性
    平台支持协同工作、分布式测试实行,能与版本管理工具、软件缺陷管理系统、企业邮件系统等集成,同时在项目不断迭代的过程中,自动化测试脚本能弹性调整和代码复用。


2、架构设计


平台采用组件化的头脑和分层架构,可分为4层,每一层都实现特定的功能,并提供接口给别的层调用:



图1 平台架构设计



  • 最底层是被测系统,重要明白被测对象的形态。平台支持APP、Web和PC应用测试,以及接口、数据库等测试。

  • 往上是测试库。平台除提供如进程、字符串、集合、截图处理等基础测试库外,还提供Web、APP、接口等专用测试的扩展测试库,以支持不同的被测系统选择相应的测试库。

  • 中间是测试框架,其作用包括用例管理、测试数据管理、测试运行、测试报告等。

  • 最上面则是持续构建层,负责使命、机器、列队等控制和调理,自动完成整个测试作业过程。


3、平台实现


在自动化框架选型上,我们选择Robot Framework(以下简称“RF”)作为自动化测试平台的焦点底层框架,Jenkins作为持续集成与使命调理平台,同时选择AppiumLibrary、Selenium2Library、RequestsLibrary、AutoItLibrary等作为扩展测试库,以应对不同的测试需求。


(1)RF框架
RF是一款功能丰富并且扩展性强的开源自动化测试框架,重要用于轮次较多的回归测试。框架通过关键字的组合形成测试逻辑,终极通过各个底层测试库与被测系统交互,完成测试工作。

RF框架为APP、Web、接口、数据库测试等提供了标准的底层关键字API,测试职员只需在这些关键字的基础上开辟自定义脚本,即可满足自身测试的要求。

图2 RF架构图

(2)AppiumLibrary
Appium是一个开源、跨多平台多语言的测试框架,相比别的框架,它支持iOS和Android平台上的原生、Web和混合应用自动化测试,可在平台间重用代码,编写测试脚本和运行测试时不必要对源码重新编译,在脚本的编写和实现上对编程语言没有太多要求,测试更轻量灵活。

AppiumLibrary是RF框架基于Appium的第三方扩展应用程序测试库,可支持券商手机证券APP自动化测试开辟。

图3 Appium架构图

(3)Selenium2Library
Selenium是为了实现多平台Web应用程序测试而专门设计的自动化测试工具套件,具有可扩展、跨平台、多浏览器支持等特性。Selenium 2集成了WebDriver,WebDriver通过原生浏览器支持或者浏览器扩展直接控制浏览器,测试职员可根据不同的平台、不同浏览器选择不同的WebDriver去实行测试。

Selenium2Library是RF框架基于Selenium2的Web测试库,可支持券商商城、网厅等Web应用自动化测试开辟。

图4 WebDriver架构图

(4)RequestsLibrary
接口测试一般用于多系统间交互开辟,或拥有多个子系统的应用系统开辟的测试。Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库,可满足HTTP接口测试需求。RequestsLibrary是RF框架下的API测试库,可支持券商IFS或别的自定义开辟接口自动化测试开辟。

(5)AutoIt桌面应用测试
AutoIt是一款用于对Windows GUI举行自动化操作的软件,它可以模拟键盘按键,、鼠标移动以及窗口或控件的操作来实现自动化使命。AutoItLibrary是RF框架基于AutoIt的Win32桌面应用测试库,可支持券商焦点柜台、网上生意业务等桌面应用系统自动化测试开辟。



图5 Au3Info识别GUI对象示例

(6)Jenkins持续集成
Jenkins是一种开源的持续集成工具,它支持svn、Git等多种SCM配置管理工具,可根据项目要求设置定时构建(如每小时、每次间隔时间或天天晚上几点钟等)或触发构建(如源代码提交触发),支持Shell脚本、Windows批处理、Ant构造等多种构建方法,从而满足在不同操作系统上运行。

Jenkins支持分布式构建(类似于Selenium Grid),可实现多主机多使命并行实行。Jenkins还提供丰富的插件支持,安装Robot Framework plugin插件后可实行RF自动化测试用例。



图6 Jenkins+RF+AppiumLibrary自动化测试示例


4、平台的创新点


1、平台架构灵活、顺应场景广,满足多种不同类型自动化测试
平台基于轻量的RF开源框架,具有良好的扩展性,通过集成不同的开源扩展测试库可满足不同类型、不同平台和应用的测试:



  • RF+AppiumLibrary可实现APP自动化测试,且可在iOS和Android之间重用代码,只必要编写出一个统一的测试脚本就可以运行在不同的平台上,这种方式将极大进步自动化测试脚本的利用率,节流编写和调试测试脚本的时间;
  • RF+Selenium2Library则可实现Chrome、IE、Firefox等多浏览器下的Web应用程序自动化测试;
  • RF+AutoItLibrary可实现一般Win32桌面应用程序自动化测试;
  • RF+RequestsLibrary可实现接口自动化测试,等等

以是该平台具有相当强的灵活性、兼容性和易用性,尤其适用于焦点柜台、网上生意业务、手机证券等界面变革不大、软件生命周期长,经常推出新版本的产品自动化测试。

2、平台实现端到端自动化测试管理,一站式图形展示信息
平台支持用例管理、脚本开辟调试、使命分布式调理实行、测试报告出现全流程

     


图7 平台测试管理



图8 测试日志及报告

3、基于数据和关键字驱动的自动化测试,灵活应对被测试系统变更
平台降服了传统自动化框架录制回放模式脚本高耦合性的缺点,具有高健壮性、高复用性和良好的维护性:



  • 支持数据驱动模式,测试数据和脚本分离,测试数据变更无需修改脚本,进步了自动化测试脚本的可复用性。

  • 实现界面元素统一管理,界面元素和测试脚本分离,应用程序界面变更只要修改失效的界面元素即可,无需大量修改脚本,进步了脚本的可维护性。

  • 业务流程测试基于可以灵活组合的关键字脚本举行控制,通过增长关键字即可实现测试框架的功能扩展。

  • 脚本结构釆用分层设计头脑,将自动化测试脚本分成用例层、流程层、页面元素层和变量集合层,方便实现高内聚、低耦合的测试脚本设计。




图9 分层自动化测试


5、平台的实行结果


1、进步测试用例设计质量和业务场景的覆盖度

东莞证券自动化测试项目自实行以来,用例粒度和覆盖度得到了较大改善,手机APP生意业务、接口、Web(网厅/商城/有财贷)、焦点柜台、网上生意业务的测试用例分别到达1645、153、76、569和1168个,用例规模均匀增长近8倍,基本覆盖所有生意业务类业务。均匀自动化率达65%以上,极大提升了产品研发团队的质量信心。

2、提升测试用例实行服从,加快产品投产速率

自动化测试进步了测试用例实行的服从和准确性,低落了生产应用系统的故障率。另外持续集成尽早地介入,减少了版本延迟发布的可能性。以东莞证券手机APP生意业务自动化测试为例,之前版本迭代周期是2-3个月,开展自动化测试后缩短至1个月;以往一轮15人天的手动测试改为自动化实行后不到2人天。按均匀每月迭代一次计算,全年可省近150人天的测试资源。如对接独立的测试柜台(支持7*24实行)并增长多台设备并行实行,自动化测试服从还可大幅提升;该项目已投入近20轮版本迭代测试,发现缺陷17个。


6、总结


东莞证券基于开源的RF框架从0到1建立起通用自动化测试体系,并在手机APP、焦点柜台、网上生意业务、接口、商城、网厅等项目中落地,同时结合Jenkins实现自动化测试持续集成和分布式构建,有效支撑了敏捷和快速迭代过程

限于篇幅,本文并未就APP、Web、桌面应用、接口等自动化测试开辟方法睁开具体论述,而是提供一种建立通用自动化测试持续集成管理平台的思绪,希望对其他券商有肯定的启发和鉴戒意义。
那么在这里我也精心预备了上述大纲的具体资料包罗:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如下,必要的点击下方名片加我VX免费领取。
                             
                                                                

 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表