基于OCR的SeeTest框架可行性分析总结

总的来说相比其他几个免费框架,SeeTest功能更全面和易用,但收费有点昂贵:License $3500/年;多平台和多语言(基于OCR)还需要额外购买,分别是500$/Year和1750$/。详情请查看下面详细描述,与其他之前调研的框架的对比请查看下一篇《流行自动化框架逐项比拼》。

Summary


  1. 多种多样的控件定位方式,包括额外比Appium多出来的通过OCR图像元素进行定位的方式,这是SeeTest非常两眼的一个卖点,解决了就算是自己编写的控件也可以辨识,以及跨平台的问题。
  2. 自动捕捉用户在屏幕的大部分操作(长按没有支持,但是可以在代码手动添加),然后自动生成对应的脚本。这个也是非常大的亮点,帮大部分基础测试人员提高效率
  3. 类似Appium的架构,控制代码在PC端,与Eclipse集成起来编码更灵活
  4. 漂亮的基于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等多语言支持,类似Appium

  • Web应用支持
    支持,可以辨识到浏览器的元素进行测试。


作者:天地会珠海分舵
微信公众号:TechGoGoGo
微博:http://weibo.com/techgogogo
CSDN:http://blog.csdn.net/zhubaitian

你可能感兴趣的:(基于OCR的SeeTest框架可行性分析总结)