Appium 故障调试
======================
如果你遇到问题,先不要提交 ticket 到 github 或者发信去 appium-disscuss 邮件列表求教,这里教你如何处理。
ANDROID_HOME
配置好了,参照 setup instructions ).git pull
确保你使用的是最新的代码。根据你想要自动化的平台运行 reset.sh
:
./reset.sh # 所有平台
./reset.sh --ios # ios-only
./reset.sh --android # android-only
./reset.sh --selendroid # selendroid-only
你可能会用到 --dev
,如果你想下载和构建测试应用的话。
你也能使用 appium-doctor
来自动验证所有依赖是否符合。如果从源代码运行,你可以使用bin/appium-doctor.js
或者 node bin/appium-doctor.js
。
如果你升级到 Android SDK 22,然后得到了如下错误:
{ANDROID_HOME}/tools/ant/uibuild.xml:155: SDK does not have any Build Tools installed.
在 Android SDK 22 里,platform 和 build 工具被拆分到它们各自项中去。你需要确保安装了 build-tool 和 platform-tool。
adb kill-server && adb devices
。它可以帮助重置和 Android 设备之间的连接。app-package
, app-activity
, and app-wait-activity
desiredCapabilities (see this doc for more information).app-package
, app-activity
和 app-wait-activity
(详见 文档)./tmp/instruments_sock
, sudo rm /tmp/instruments_sock
。然后不要使用 sudo 启动 Appium。sudo grunt authorize
。如果用 npm 安装的话,运行 sudo authorize_ios
即可。iOS Simulator failed to install the application.
而且 App 的路径都正确的,那么重启下电脑看看。如果你通过以上方法都不能解决问题,你可以做:
如果你可以确认你发现的是个 bug,来给我们报 bug 吧。issue tracker
如果你的 Appium 无法正常工作,然后错误信息不够清晰,欢迎加入mailing list。 给大家发邮件询问,但是请包含以下信息:
brew install node
。(null) cannot be tapped
的错误。唯一的解决方法就是把 finding-and-acting 的代码放到 retry 块里。参见 mobile: findAndAct
finding elements doc page
/opt/local/bin
) 被添加到环境变量 PATH
中去。Action | Error | Resolution |
---|---|---|
Running reset.sh | xcodebuild: error: SDK "iphonesimulator6.1" cannot be located | 安装 iPhone 6.1 SDK 或者 使用单独的 SDK 构建 待测应用 比如: grunt buildApp:UICatalog:iphonesimulator5.1
|