最后试了一下,使用 ant 打包成功了,也最终实现了。(虽然不明白为何 mvn 打出的 jar 包不可以。。。),谢谢大佬指点~
1、已经运行过了,还是不执行的。
2、通过观察运行的 log:
runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=
io.appium.android.bootstrap.Bootstrap:
INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
INSTRUMENTATION_STATUS: test=testRunServer
INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS_CODE: 1
[APPIUM-UIAUTO] [debug] Socket opened on port 4724[/APPIUM-UIAUTO]
[APPIUM-UIAUTO] [debug] Appium Socket Server Ready[/APPIUM-UIAUTO]
[APPIUM-UIAUTO] [debug] Loading json...[/APPIUM-UIAUTO]
[APPIUM-UIAUTO] [debug] Registered crash watchers.[/APPIUM-UIAUTO]
但是我在 bootstrap 中对这些字符打印也做过修改,实际根据控制台打印判断应该是没生效:
public SocketServer(final int port) throws SocketServerException {
keepListening = true;
executor = new AndroidCommandExecutor();
try {
server = new ServerSocket(port);
Logger.debug("**Socket opened on port " + port);
...
}
public void listenForever(boolean disableAndroidWatchers, boolean acceptSSLCerts) throws SocketServerException {
Logger.debug("**Appium Socket Server Ready");
...
}
3、目前疑惑点:
1)根据 bootstrap 源码 git 项目中 readme 操作,但是执行 mvn install -P 4.4 出现报错,但是 bootstrap 可以正常导入 android.4.4.2_r4 了。项目也不报错了,不知道对于最终的 jar 包有没有影响?
[INFO] Android Add-Ons .................................... SUCCESS [ 0.016 s]
[INFO] Android Add-On Google Platform 4.4 API 19 (Maps and USB) FAILURE [ 0.078
s]
[INFO] Google Glass Development Kit (GDK) API 19 .......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.501 s
[INFO] Finished at: 2017-06-28T09:16:38+08:00
[INFO] Final Memory: 22M/620M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:properties-maven-plugin:1.0.0:re
ad-project-properties (default) on project google-apis-19: Properties could not b
e loaded from File: D:\tools\Android\newSDK\add-ons\addon-google_apis-google-19\s
ource.properties -> [Help 1]
2)还有就是 appium 自动打 bootstrap 的 jar 时机是在什么时候?想着是不是可以重新叫 appium 来打 jar 包
1、在 bootstrap.java->server.listenForever->dismissCrashAlerts->registerAnrAndCrashWatchers 中添加一个监听:
UiDevice.getInstance().registerWatcher("WIFI", new UiWatcher() {
@Override
public boolean checkForCondition() {
Logger.debug("WIFI 不稳定!");
// UiObject window = new UiObject(new UiSelector().textContains("等一会"));
UiObject window = new UiObject(new UiSelector().resourceId("com.xxx:id/tvAlert"));
if (window.exists()){
try {
window.click();//点击等一会
} catch (UiObjectNotFoundException e) {
Log.e(LOG_TAG, "dialog gone?", e);
}
return true;
}
return false;
}
});
Log.i(LOG_TAG, "Registed GUI Exception watchers");
}
2、反编译出来后修改的内容时存在的
已经找到出错的原因了。是因为我测试的 app 不是微信(只是测试我的 apk 跳转到微信的 webview 页面点击操作),可能是当前测试应用和配置的 webview 的那个 driver 不相匹配而失败的。如果这不是根本原因还请大家指正
大家有遇到这个错误么,求帮忙解决一下:WebDriverException: An unknown server-side error occurred while processing the command. Original error: session not created exception: please close 'com.tencent.mm' and try again
我的代码:driver.context("WEBVIEW_com.tencent.mm:tools")(使用这个 driver)
我的 chromeDriver 版本:
异常信息:
Appium 出错信息:
解决啦,webElement 获取文本使用 element.getAttribute("text") 就可以啦
请问一下,对 toast 获取的对象调用 getText 的时候,出现以下报错,是什么原因呢?