当我测试Android构建“内部”样式时遇到此错误,我认为问题是我们的Android应用程序构建的程序包和进程名称不匹配,而由于“内部”而更改了程序包名称时可能会发生味道。我仍在寻找解决方法,可以在这里以及在网上搜索时找到任何相关案例。我将继续寻找并尝试修复,但是如果有人有想法或解决方案,请继续。让我知道。
答案 0 :(得分:0)
发现:事实证明,Android为每个不同的“风味”构建都创建了新的程序包名称,请参见https://developer.android.com/studio/build/build-variants,但保留processName。在我们的示例中,它在软件包名称ex上添加了“内部”。 com.xxxx.android.internal,而processName仍为com.xxxx.android。
问题:问题的根源是当您切换到Webview上下文时,Appium将某些功能传递给ChromeDriver,包括packageName,但是当它尝试发出adb命令来查找进程时却找不到因为不匹配而找到它。
解决方案:使用chromeOptions功能传递processName,请参见下面的Java代码。
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("androidProcess", "com.xxxx.android");
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);