最近开始研究Android  wap app 的自动化测试,各大论坛及博客逛了几圈,竟是没发现有用的,而且大部分都是转载,千篇一律,最后好不容易找到点门路 ,同事借了本书,研究半天又发现那书早已过时了,版本都不知更新了几圈了。故跃墙去了官网, 总算是入门了。一鼓作气,记录下详细步骤及成果,供后来者学习之用。

目的:实现Android 浏览器的wap页测试 。

--------------------------------------------

搭建Android WebDriver环境

以下使用的Android SDK版本为adt-windows-x86_64,Android Server版本为2.9

  1. 安装Android SDK

    可去官网下载Android SDK

  2. 创建安卓设备(可使用真机或创建模拟器)

1)使用真机:需要连接当前机器

2)创建模拟器,这里可采用开发工具创建也可在AVD管理器上Create.

--进入SDK> tools目录,启动AVD管理器

wKiom1fH0g3ieYo-AAHkve5BRG0935.png-wh_50

--Create模拟器(此处不再详述)

--设置Android模拟器。

有两种方式 运行Android WebDriver ,一种是基于Remote WebDriver Server,另一种基于Android Test Framework.此处介绍Remote WebDriver Server(其方式的使用包括服务器端和客户端)。

客户端:一般使用TestNG组织的Cases Code, 运行时可选择直接在IDE中运行,也可通过命令运行。

服务器端:一般指运行在Android设备上, 包含HTTP服务器的应用程序。运行Cases时, 客户端的每个WebDriver命令都会发送一个采用JSON协议RESTful HTTP请求到服务器端。而远端的HTTP服务器会将客户端发送过来的请求转发给Android WebDriver,并将请求结果发送回客户端。


3.安装设置Android WebDriver Server

1)模拟器或真机均会有一个序列号,即serial ID.通过命令获取设备序列号。此处需要作下说明, 如果没有配置platform-tools的path, 需要先进入sdk>platform-tools目录下再执行命令, 如下:

adb devices

2)下载Android Server的apk文件。

3)安装以上apk文件到设备上,安装命令如下:

adb -s 523b4cb3 -e install -r android-server.2.9.apk

4)启动Android WebDriver应用程序。

5)设置端口转发规则(设置完成后通过访问http://localhost:4444/wd/hub/status验证是否成功):

adb -s 523b4cb3 forward tcp:4444 tcp:8080

6)启动jar包

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk

执行Cases(项目中需要导入相应jar包,即selenium相关jar包及selendroid-standalone-0.17.0-with-dependencies.jar)

wKiom1fH4yaTazWYAAFdlSJe56w363.png-wh_50

It's OK.以上就是如何在Android平台上使用Selenium WebDriver测试之搭建Android WebDriver测试环境。当然,搭建过程中会遇到一些问题,欢迎大家提出,笔者也会在后续把自己遇到的一些常见问题整理出来,供大家参考。

----------------------------------------------------------------------------------------

其他操作

  1. 关于移动设备特有的旋转屏幕、触摸、滚动等操作后续介绍。

  2. 因Android上的浏览器内核基于Webkit,故支持H5,通过Web Storage \Appication Cache,WebDriver与Android上H5 的交互过程。