如何在Android平台上使用WebDriver测试之搭建Android WebDriver测试环境

简介:

最近开始研究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 的交互过程。


本文转自 honzhang 51CTO博客,原文链接:http://blog.51cto.com/hongz/1840879

相关文章
|
27天前
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的深度对比
在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。本文旨在通过数据驱动的分析方法,深入探讨这两大操作系统在开发环境、用户界面设计及市场表现等方面的差异。引用最新的行业报告和科研数据,结合技术专家的观点,本文将提供对开发者和市场分析师均有价值的洞见。
|
17天前
|
Java Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【7月更文挑战第8天】在移动应用开发的广阔天地中,Android与iOS两大平台各自占据着半壁江山。本文将深入探讨这两个平台在开发环境、用户界面设计、性能优化以及市场覆盖等方面的根本差异,并分析这些差异如何影响项目的成功。通过比较和分析,旨在为开发者在选择平台时提供更全面的视角,帮助他们根据项目需求和目标市场做出更明智的决策。
|
20天前
|
传感器 数据采集 监控
LabVIEW电池管理系统测试平台
LabVIEW电池管理系统测试平台
21 4
|
8天前
|
Java API 开发工具
一个专为Android平台设计的高度可定制的日历库
Calendar库是Android开发的工具,支持RecyclerView和Compose,提供高度定制的日历组件。功能包括:单选/多选/范围日期选择、周/月模式、禁用特定日期、设置边界、自定义视图、每周起始日、滚动方式、热力图、标题和脚注、滑动导航及兼容低版本API。示例应用和源码可在GitHub找到,通过Gradle集成,有详细文档指导。
36 16
|
3天前
|
监控 Java 测试技术
确保Selenium WebDriver配置与测试环境兼容
确保Selenium WebDriver配置与测试环境兼容
|
5天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的对比分析
【7月更文挑战第19天】在移动开发的广阔天地中,安卓与iOS两大阵营各据一方,它们在开发环境、用户界面设计、性能优化等方面展现出独特的魅力与挑战。本文旨在深入探讨这两个平台在技术开发和用户体验上的根本差异,并分析这些差异如何影响开发者的策略和最终用户的选择。通过比较两者的编程语言、工具、框架以及设计理念,我们将揭示各自平台的优势与局限,为开发者提供实用的参考,并为消费者呈现一个更加清晰的平台选择视角。
|
7天前
|
监控 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性、工具和市场趋势
在移动应用开发的广阔舞台上,安卓与iOS两大操作系统扮演着主角。它们各自拥有独特的平台特性、开发工具和市场定位,这些差异深刻影响着开发者的决策和产品的最终形态。本文将深入分析这两大平台的关键技术差异,探讨各自的开发环境和工具集,以及它们在市场上的表现和未来的趋势,为开发者提供一个全面的视角,帮助他们在这两个平台上做出更明智的开发选择。
|
11天前
|
开发工具 Android开发 Swift
安卓与iOS开发环境对比:选择适合你的平台
【7月更文挑战第14天】在移动应用开发的广阔天地中,安卓和iOS两大平台各领风骚。本文将深入探讨这两个系统在开发环境上的差异,从编程语言、工具到生态系统的多维度比较,旨在为开发者提供一份实用的参考指南。无论你是初涉移动开发的新手,还是寻求跨平台解决方案的老手,这篇文章都将助你一臂之力,找到最适合你的开发路径。
|
11天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比:选择合适的平台
【7月更文挑战第14天】本文深入探讨了安卓与iOS开发环境的差异,并分析了选择合适平台的考量因素。通过比较两者的开发工具、编程语言和用户群体,旨在帮助开发者做出明智的决策,以优化资源利用和提升应用性能。文章将提供实用的建议,助力开发者在竞争激烈的应用市场中脱颖而出。
17 2
|
14天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比:选择适合你的平台
【7月更文挑战第11天】在移动应用开发的广阔天地中,安卓与iOS两大平台各据一方。它们不仅在用户群体上有所区别,更在开发环境、工具和生态系统上展现出独特的特色。本文将深入探讨这两个平台的开发环境差异,帮助开发者根据个人技能、项目需求及市场定位做出明智的选择。
34 3