- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
测试,自动化,实践,分享测试,自动化,实践,分享
跨端测试自动化实践分享
潘在亮, 腾讯测试开发组长
摘要
社交应用的多端场景
跨多端测试自动化方案
各端自动化驱动
自动化用例框架
用例云执行系统
跨多端应用场景
跨端测试自动化实践
被测应用各端自动化驱动
跨端用例框架
跨端用例执行
Android自动化测试早期版
可选的驱动工具:
Instrumentation
Native Driver
UIAutomator
Robotium
Appium
Robotium遇到的痛
可自动化率低
手Q手工用例可自动化率只有22%
用例编写和维护成本高
用例(分钟)
PC
Robotium
成本增加
编写时间:
25
45
2倍
维护时间:
0.17
5
30倍
Robotium可自动化率只有22%
用例维护成本高的分析
调试步骤多
没有截图
用例和应用Log混杂
难用的UI控件查看工具
产品本身限制
用例管理功能弱
难以封装中间层
没有测试资源管理
决解方案 – 自研自动化框架QT4A
思路:QTA用例框架 + QT4A自动化驱
QTA用例框架:解决自动化成本高的问题
QT4A自动化驱动:解决不能自动化的问题
QT4A目标:
支持被测应用
支持Android2.1及以上
跨进程,跨应用,跨端
支持Native,Web,自研控件
提升用例维护性
使用Python
支持UI操作事件自动确认
支持View ID
ViewID提升用例维护性
界面
Accessbility 控件树
ViewID 控件树
QT4A – 两个方案
优点:Android原生支持
缺点:
1、只支持Android4.1及以上
2、不能使用ViewID
3、不能扩展支持产品特殊特性
优点:
1、支持2.1及以上
2、可以使用ViewID
3、必要时容易扩展支持
缺点:需要注入被测进程
方案1:使用UIAutomator
方案2:使用自研stub
QT4A系统架构
Hook确认UI事件完成
button1.click()
sleep(5)
button2.click()
sleep(10)
可读性差
稳定性差
发送点击事件
系统inputManager
View处理点击
Hook确认已处理
iOS驱动技术选型
Javascript
测试脚本
Instrument /
xctest 工具
OC 测试脚本
编译
安装
修改嵌入被测APP
instrument方案
优点:
apple原生方案
无需修改被测app
无需编译
缺点:
脚本编写不方便
依赖Accessiblity
设备证书数量限制
不支持跨终端
无控件查看工具
嵌入式方案
优点:
获取原生控件树
直接调用iOS SDK
缺点:
需要编译和安装
需要修改被测app
不能处理app的crash
不能跨终端
无控件查看工具
自研iOS自动化驱动方案
driver_server.py
device.py icontrol.py
app.py
iOSUISpy.app
(qta driver api)
instruments
cmd_fetch.py
ios_driver.js
1秒限制
OSX
iOS
应用层
服务层
驱动层
QT4i方案
优点:
apple原生方案
无需修改被测app
无需编译
UI控件查看工具
便利的脚本编写
支持跨终端
缺点:
依赖Accessiblity
设备证书数量限制
PC自动化驱动
测试进程
被测进程
脚本
驱动API
Windows
IE COM API
HTML Elements
TIF COM
Stub
GF Controls
Windows Message
COM
调用
COM
调用
统一各端驱动API接口
API入口统一
Device
App
Control
控件标识统一
简单易用
灵活
各端统一
使用一致
控件标识 - QPath
搭建测试用例框架
没有统一的集成型测试框架
xUnit
Robot Framework
Cucumber
如何搭建跨端的用例框架?
跨端用例框架
UI用例框架基础
No xUnit
截图
扩展用例Log
用例中间层封装
用例资源管理
跨端用例框架
用例多端操作
用例跨端运行
+
QTA框架生成的测试报告
测试用例中间层封装
class GFWindow(Control):
GF窗口
def __init__(self, root=None, locator=None):
locators = {
最小化按钮 : {type:Button, root:self, locator:minimizebutton},
最大化按钮 : {type:
您可能关注的文档
最近下载
- GPS控制网的布设方法.ppt.ppt VIP
- 公关语言学幻灯片.ppt VIP
- 2019版最新18项护理核心制度.docx VIP
- GPS静态网的布设.ppt VIP
- DB32T 2887-2016 曳引电梯钢丝绳电磁检测方法 .pdf VIP
- 《宁夏闽宁镇:昔日干沙滩,今日金沙滩》-中职语文高二同步课件精选(高教版2023·职业模块).pptx VIP
- 2025年5月18日河南省事业单位招聘考试《公共基础知识》试题(含答案).docx VIP
- 2025年5月18日河南省事业单位招聘考试《职业能力测试》试题(含参考答案).docx VIP
- 数据挖掘教案.doc
- DB42T 2390-2025 城市更新规划编制技术规程.docx VIP
文档评论(0)