1

配置

操作系统:Ubuntu 12.04 64
位 CPU:四核 AMD Opteron(tm) 处理器 2352,2.1GHz
RAM:2GB
Headless Ubuntu,我使用 Xvfb,没有 Eclipse
android:v4.2.2 和 webdriver v2.32.0

问题

正如您在接下来的步骤中看到的,模拟器已初始化,Webdriver 已加载并启用。但是,Android Webdriver 没有响应 URL 上的浏览​​器连接:

http://myremoteserver:8080/wd/hub

那么有没有办法调试 Webdriver(例如:从模拟器 shell 监视它的活动)?
关于stackoverflow,我阅读了标记为 [android] [android-emulator] [webdriver] [selenium] 的问题,不幸的是我没有得到答案。
我还查看了 Android Developer Google Group。
我试图尽可能准确,但如果您需要更多信息,请随时问我。发送!

详细步骤

shell 命令前面有$
shell STDOUT 前面有>

  • 在屏幕 99 上启动虚拟 X 服务器:
$ Xvfb :99 -ac -screen 0 1024x768x8 2>/dev/null &
  • 定义 $DISPLAY :
$出口显示=:99
  • 下载 adt-bundle 并在 ~ 中解压缩 sdk/ 目录并将其重命名为“android_sdk”

所有接下来的命令都是从~/android_sdk/tools

  • 更新sdk:
$ ./android 更新 sdk --no-ui
  • 列出目标:
$ ./android 列出目标

我确定合适的目标是数字 25:

> id: 25 或“android-17”
     名称:安卓4.2.2
     类型:平台
     API等级:17
     修订:2
     皮肤:WVGA854、WQVGA400、WSVGA、WQVGA432、WXGA800-7in、HVGA、WXGA800、WVGA800(默认)、QVGA、WXGA720
     ABI:armeabi-v7a、mips、x86
  • 创建一个模拟器:
$ ./android 创建 avd -n my_android -t 25 -c 100M --abi armeabi-v7a
  • 启动模拟器:
$ ./emulator -avd my_android -no-audio &
> 无法创建上下文 0x3005
> 模拟器:警告:无法使用软件渲染器初始化 OpenglES 模拟。
  • 检查服务器是否找到了模拟器守护进程:
$ ../平台工具/adb 设备
> * 守护进程没有运行。现在在端口 5037 上启动它 *
    * 守护进程成功启动 *
    附加设备列表
    模拟器 5554 设备
  • 下载最新的 Webdriver 解压到 'tools/'
  • 将 webdriver 安装到模拟器上:
$ ../platform-tools/adb -s emulator-5554 -e install -r android-server-2.32.0.apk
> 成功
  • 启动 Webdriver:
../platform-tools/adb -s emulator-5554 shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity -e debug true
> 开始: Intent { act=android.intent.action.MAIN cmp=org.openqa.selenium.android.app/.MainActivity(有附加功能)}
  • 检查 Webdriver 包是否通过模拟器 shell 正确启用:
$ ../platform-tools/adb -s emulator-5554 外壳
(来自模拟器外壳): $ pm list packages -e
> 包:org.openqa.selenium.android.app
  • 转发请求:
$ ../platform-tools/adb -s emulator-5554 forward tcp:8080 tcp:8080
4

0 回答 0