基于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的即 ...
随机推荐
- jquery之ajax中国乱码的解决方案
$.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: ...
- 家庭洗车APP --- Androidclient开展 之 网络框架包介绍(一)
家庭洗车APP --- Android客户端开发 之 网络框架包介绍(一) 上篇文章中给大家简单介绍了一些业务.上门洗车APP --- Android客户端开发 前言及业务简单介绍,本篇文章给大家介绍 ...
- Android开发技巧——实现在图标文本底部导航栏(更新)
本文参考了导航栏的代码viewpagerindicator实现. 本文介绍了之前版本号qq或者微信,添加文本,实现图标,导航栏的底部. 2014-09-14 13:59:42更新:library的代码 ...
- 【MySQL案件】ERROR 1418
1.1.1. ERROR 1418 [环境的叙述性说明] mysql5.0.67 [问题叙述性说明] 当它来到创建存储过程ERROR 1418一个错误. # 创建函数SQL声明 CREATE FUNC ...
- hdu 3683 Gomoku (模拟、搜索)
Gomoku Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 【C++ Primer每天刷牙】一间 迭代器
迭代器的介绍 概述 迭代器是一种检查容器内元素并遍历元素的数据类型. 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或所有元素,每一个迭代器对象代表容器中的确定的地址.迭代 ...
- 对“demo!demo.Index+HookProc::Invoke”垃圾收集的类型已委托回调。这可能会导致应用程序崩溃、损坏和数据丢失。当传递委托给非托管代码,托管应用程序必须让这些委托保持活着
对"demo!demo.Index+HookProc::Invoke"垃圾收集的类型已委托回调.这可能会导致应用程序崩溃.损坏和数据丢失.当传递委托给非托管代码,托管应用程序必须承 ...
- 单节点伪分布式Hadoop配置
本文所用软件版本: VMware-workstation-full-11.1.0 jdk-6u45-linux-i586.bin ubuntukylin-14.04-desktop-i386.iso ...
- 利用纯CSS3实现超立体的3D图片侧翻倾斜效果
原文:利用纯CSS3实现超立体的3D图片侧翻倾斜效果 上午的时候我在jQuery论坛上看到网友分享的一款CSS3 3D图片侧翻倾斜特效,觉得效果非常棒,其实话说回来,这玩意儿的实现真的非常简单,主要是 ...
- SyntaxHighlighter代码高亮插件
SyntaxHighlighter它是Google Code在一个开源项目,主要用于对代码着色页, 使用十分方便,效果也不错,并且差点儿支持常见的全部语言. 使用步骤: 一.下载并解压缩SyntaxH ...