配置
操作系统: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