论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
程序人生
›
利用Robot Framework实现多平台自动化测试
利用Robot Framework实现多平台自动化测试
宝塔山
金牌会员
|
2024-6-9 14:51:10
|
显示全部楼层
|
阅读模式
楼主
主题
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 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宝塔山
金牌会员
这个人很懒什么都没写!
楼主热帖
分布式事务 | 使用DTM 的Saga 模式 ...
WebLogic JNDI注入(CVE-2021-2109) ...
SQL Server实例间同步登录用户 ...
HTTPS基础原理和配置-3
从零写一个兼容MySQL/Oracle的Proxy中 ...
JVM中的编译器
让开发者成为决定性力量,华为开发者英 ...
【K哥爬虫普法】你很会写爬虫吗?10秒 ...
Appuploader 常见错误及解决方法 ...
Redis监控指标
标签云
挺好的
服务器
快速回复
返回顶部
返回列表