基于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的即 ...
随机推荐
- dispatch_once认识分析
dispatch_once为了确保代码运行一次 +(NSDateFormatter*)getDBDateFormat { static NSDateFormatter* format; static ...
- ios新开发语言swift 新手教程
http://gashero.iteye.com/blog/2075324 视频教程:http://edu.51cto.com/lesson/id-26464.html
- SQL Server中tempdb的管理
原文:SQL Server中tempdb的管理 资料来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ht ...
- 无法打开物理文件mdf,操作系统错误 5:"5(拒绝訪问。)"
无法打开物理文件mdf,操作系统错误 5:"5(拒绝訪问.)" 环境: SQL Server 2008 R2 问题: 附加数据库时报错"无法打开物理文件mdf.操作系统错 ...
- 易Android登录Demo
上一页介绍Android项目简单的页面跳转实例,算是对开发环境的熟悉,这一篇将在此基础上增加一些简单的逻辑,实现登录的效果. 登录之前: 登录成功: watermark/2/text/aHR0cDov ...
- C++11实现模板手柄:委托构造函数、defaultkeyword分析
C++11.使用委托构造函数.和高速变量初始化,defaultkeyword重新声明默认构造函数,回答pod状态. 分析与推荐的方法. 到目前为止,VS2012和2013异常声明兼容还是停留在通信代码 ...
- NYNU_省赛选拔题(6)
题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...
- View Component
View Component 在之前的MVC中,我们经常需要类似一种小部件的功能,通常我们都是使用Partial View来实现,因为MVC中没有类似Web Forms中的WebControl的功能. ...
- JS 精度问题处理
/除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. //调用:accDiv(arg1,arg2) ...
- jQuery中queue和dequeue的用法
jQuery中的queue和dequeue是一组很有用的方法,他们对于一系列需要按次序运行的函数特别有用.特别animate动画,ajax,以及timeout等需要一定时间的函数 queue和dequ ...