移动自动化测试框架拓展

相关背景

目前国内许多公司都开始使用自动化测试,尤其是最近这几年,自动化测试更是受到了越来越多的青睐。常见公司产品的商业化,使其不可能做到一个产品结构的经常变动的。这就给自动化技术提供了基础。常见的自动化测试包括客户端和移动端,本文旨在讨论移动端的测试化。目前常见的移动自动化测试,主要分布在以下三个层面,UI层面、接口层面和单元测试。

虽然移动化测试能提高测试团队的测试效率,但也只是在特定场景下可以使用,是不可能替代人工测试的,只是一个辅助的工具。

相关技术

STF

个人觉着是提供一个移动端的资源池,通过RESTFUL框架我们可以获取所学要的移动端设备,是一个比较好的移动端设备管理工具。目前官网上说可以管理达1000台以上手机。

ADB

  1. 客户端,运行在开发机器(电脑)上,你可以通过从shell输入adb命令来调用客户端,或者从其他Android工具如DDMS创建adb客户端。
  2. 服务端,作为一个后台进程运行在开发机器(电脑)上,负责管理客户端和模拟器(设备)上的adb守护进程之间的通信。
  3. 守护进程,作为后台进程运行在每个模拟机(设备)上。

你可以在sdk的platform-tools中找到adb工具。当你开启一个adb客户端,客户端首先检查是否有一个adb服务端已经在运行,如果没有,则启动服务端进程。当服务端启动时,它绑定到本地TCP端口5037来监听从adb客户端发送的命令,所有的adb客户端通过5037端口和服务端通信。

Appium

Appium是一个开源的、跨平台的自动化测试工具,支持IOS、Android和FirefoxOS平台。 通过Appium,开发者无需重新编译app或者做任何调整,就可以测试移动应用,可以使测试代码访问后端API和数据库。它是通过驱动苹果的UIAutomation和Android的UiAutomator框架来实现的双平台支持,同时绑定了Selenium WebDriver用于老的Android平台测试。开发者可以使用WebDriver兼容的任何语言编写测试脚本,如Java, OC, JS, PHP,Python, Ruby, C#,Clojure 和Perl语言。

Docker

Docker就是一个应用程序执行容器,类似虚拟机的概念。但是与虚拟化技术的不同点在于下面几点:

  1. 虚拟化技术依赖物理CPU和内存,是硬件级别的;而docker构建在操作系统上,利用操作系统的containerization技术,所以docker甚至可以在虚拟机上运行。
  2. 虚拟化系统一般都是指操作系统镜像,比较复杂,称为“系统”;而docker开源而且轻量,称为“容器”,单个容器适合部署少量应用,比如部署一个redis、一个memcached。
  3. 传统的虚拟化技术使用快照来保存状态;而docker在保存状态上不仅更为轻便和低成本,而且引入了类似源代码管理机制,将容器的快照历史版本一一记录,切换成本很低。
  4. 传统的虚拟化技术在构建系统的时候较为复杂,需要大量的人力;而docker可以通过Dockfile来构建整个容器,重启和构建速度很快。更重要的是Dockfile可以手动编写,这样应用程序开发人员可以通过发布Dockfile来指导系统环境和依赖,这样对于持续交付十分有利。
  5. Dockerfile可以基于已经构建好的容器镜像,创
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值