基于OCR的SeeTest框架可行性分析总结
总的来说相比其他几个免费框架,SeeTest功能更全面和易用,但收费有点昂贵:License 3500/年;多平台和多语言(基于OCR)还需要额外购买,分别是500/Year和1750$/。详情请查看下面详细描述,与其他之前调研的框架的对比请查看下一篇《流行自动化框架逐项比拼》。
Summary
- 多种多样的控件定位方式,包括额外比Appium多出来的通过OCR图像元素进行定位的方式,这是SeeTest非常两眼的一个卖点,解决了就算是自己编写的控件也可以辨识,以及跨平台的问题。
- 自动捕捉用户在屏幕的大部分操作(长按没有支持,但是可以在代码手动添加),然后自动生成对应的脚本。这个也是非常大的亮点,帮大部分基础测试人员提高效率
- 类似Appium的架构,控制代码在PC端,与Eclipse集成起来编码更灵活
- 漂亮的基于HTML/XML的报告生成。
工作原理简述
SeeTest将目标安卓机器的桌面映射到PC端,在PC客户端映射器的操作会通过XMLRPC传到目标安卓端。所以服务器端需要有一个类似Bootstrap的daemon接受客户端的命令。 因此它采取的是类似Appium的C/S结构,控制代码在客户端,命令事件控制会发到客户端桌面映射器,桌面映射器再会传送给目标设备进行事件注入。
SeeTest 关键功能描述
控件定位和验证:
- 通过图片元素定位:例如通过在录制期间截取某个按钮的图片并保存起来到SeeTest的对象库,运行时就可以通过该图片对象来定位对应的按钮进行测试。
- 基于上面的图片定位,可以通过OCR技术取出控件图片里面的文本文字进行定位或者验证。
- 基于控件属性动态识别控件(Native Insturmented Dynamic录制方式,跟Appium和UiAutomator基本一样),比如通过控件id,hint等属性来识别。
- 基于XPATH(Native Non-Instrumented 录制方式)
操作支持:
正常操作包括手势等都有支持,和UiAutomator一样可以满足我们的这方面要求。单元测试框架支持
可以支持Junit3,TestNG,和Junit4, 比起UiAutomator只能支持Junit3来得更灵活。比如Junit3限制每个测试用例只能以test开
头,Junit3没有setupBeforeClass,tearDownAfterClass等,而Junit4没有这些限制。跨应用支持
支持跨平台支持:
支持Android,iOS,Blackberry等。事件注入:
因为事件注入是完全是由闭源的客户端映射器控制,所以我们只能依靠它的质量。报告:
自动生成html报告,便于阅读编程语言支持:
Java等多语言支持,类似AppiumWeb应用支持
支持,可以辨识到浏览器的元素进行测试。
作者:天地会珠海分舵
微信公众号:TechGoGoGo
微博:http://weibo.com/techgogogo
CSDN:http://blog.csdn.net/zhubaitian
基于OCR的SeeTest框架可行性分析总结的更多相关文章
- 基于LoadRunner构建接口测试框架
基于LoadRunner构建接口测试框架 http://www.docin.com/p-775544153.html
- 8个强大的基于Bootstrap的CSS框架
做过前端开发的小伙伴们应该对Bootstrap不会陌生,它是由Twitter推出的开源CSS框架,其中包含了很多Web前端开发的工具包和应用组件.当然,和jQuery一样,Bootstrap同时也是一 ...
- 基于cocos2d-x的游戏框架设计——李成
视频:http://v.youku.com/v_show/id_XMzc5ODUyMTI4.html?f=17330006 网易科技讯 3月31日,第四届CocoaChina开发者大会暨Cocos2d ...
- 基于MEF的插件框架之总体设计
基于MEF的插件框架之总体设计 1.MEF框架简介 MEF的全称是Managed Extensibility Framework(MEF),其是.net4.0的组成部分,在3.5上也可以使用.熟悉ja ...
- 【百度地图开发之二】基于Fragment的地图框架的使用
写在前面的话: [百度地图开发之二]基于Fragment的地图框架的使用(博客地址:http://blog.csdn.net/developer_jiangqq),转载请注明. Author:hmji ...
- 基于maven的ssm框架整合
基于maven的ssm框架整合 第一步:通过maven建立一个web项目. 第二步:pom文件导入jar包 (1 ...
- 基于NetMQ的TLS框架NetMQ.Security的实现分析
基于NetMQ的TLS框架NetMQ.Security的实现分析 前言 介绍 交互过程 支持的协议 TLS协议 支持的算法 实现 握手 第一次握手 Client Hello 第二次握手 Server ...
- 基于springboot的SSM框架实现返回easyui-tree所需要数据
1.easyui-tree easui-tree目所需要的数据结构类型如下: [ { "children": [ { "children": [], " ...
- DIY一些基于netty的开源框架
几款基于netty的开源框架,有益于对netty的理解和学习! 基于netty的http server框架 https://github.com/TogetherOS/cicada 基于netty的即 ...
随机推荐
- 第十九章——使用资源调控器管理资源(1)——使用SQLServer Management Studio 配置资源调控器
原文:第十九章--使用资源调控器管理资源(1)--使用SQLServer Management Studio 配置资源调控器 本系列包含: 1. 使用SQLServer Management Stud ...
- JavaScript 比量 Chrome 核心 360 浏览器(关闭和技巧)
(原因:我相信你会找到360浏览器非常多web会有上述项目的一些问题,不管是"兼容模式"依然是"快速模式".问题也可能存在.非常多用户都装了360杀毒软件,基本 ...
- Ping azure
最近azure在虚拟机上打开(欧式世纪互联),这其实并不能ping虚拟机! 查了一下资料,发现azure不支持被ping这个功能(貌似是不开放ICMP-in这个协议).有些用户跟客服问过这个问题,可是 ...
- sqlserver不能直接create table as select
sqlserver不能直接create table as select 在sqlserver 下想复制一张表的,想到oracle下直接create table xxx as select * from ...
- Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数 关于处理小数点位数的几个oracle函数()1. 取四舍五入的几位小数select round(1.2345, 3) fr ...
- 移动端 (基于jquery的3个)touch插件
//第一个 Author: Alone Antroduction: 高级前端开发工程师 Sign: 人生没有失败,只有没到的成功. //依赖jQuery 或者Zepto <script> ...
- Azure VM Public IP设置
Azure虚拟机的Public IP是用于客户端直连云中的虚拟机,可以认为是一个外网IP,一般我们为虚拟机设置终结点,例如HTTP的80端口,如果使用Public IP可以不使用Azure Porta ...
- RS-232协议和RS-485协议
RS232 RS232是一种异步传输标准接口.通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现 .RS232最经常使用的连接方式是三根线:一条发送线.一条接 ...
- Java并发专题 带返回结果的批量任务执行 CompletionService ExecutorService.invokeAll(转)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 一般情况下,我们使用Runnable作为基本的任务表示形式,但是R ...
- ASP.NET MVC应用程序展示RDLC报表
原文:ASP.NET MVC应用程序展示RDLC报表 学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有区别,但是实现操作起来,细处又有许多相近的地方. ...