Appium中混合版app切换带来的问题总结

Appium中混合版app切换带来的问题总结


相信大家在使用appium 的时候需要对混合版app之间需要切换,但是会有很多莫名其妙的问题出现下面对本人对问题做个总结

1 找不到其他的 context
在我们的Activity中明明有WebView的存在,但是我们在执行print(driver.contexts) 的时候只能打印一个NATIVE_APP 原因是你的app不执行webview 调试功能,我们需要跟开发的讲在webview中设置

webView.setWebContentsDebuggingEnabled(true); 

这个时候你去找driver.contexts就会打印出来其他的content

2 切换环境不成功
能找到对应的context 但是切换不成功

driver.switch_to.context('WEBVIEW_com.example.myapplication')

会报错:
An unknown server-side error occurred while processing the command. Original error: No Chromedriver found that can automate Chrome ‘74.0.3729’. See https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md for more details. You could also try to enable automated chromedrivers download server feature
出现这个问题的原因是你appIum 中Chromedriver和对应webview的版本对不上,解决步骤是:

 1. 这个时候需要去查看手机webview的版本
方法是:设置-->应用程序管理-->全部-->Android System WebView
 2. 然后去官网下载对应的Chromedriver包  下载地址是:
http://npm.taobao.org/mirrors/chromedriver/
 3. 找对appium安装的路径以我的为参照:
C:\Users\1\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
然后替换appium中的驱动包

3 adb的版本过低导致的问题,会报错:
An unknown server-side error occurred while processing the command. Original error: An unknown server-side error occurred while processing the command. Original error: unknown error: Failed to forward ports to device 127.0.0.1:62001. No port chosen: . Perhaps your adb version is out of date. ChromeDriver 2.39 and newer require adb version 1.0.38 or newer. Run ‘adb version’ in your terminal of the host device to find your version of adb.

出现这个问题应该下载跟新anroidsdk的中的adb版本
Adb 新版本下载地址是:
adb下载地址

最终完美切换!

以上是我 碰见的问题,如果大家还有其他的问题 ,欢迎大家吐槽!!

猜你喜欢

转载自blog.csdn.net/yipianfeng_ye/article/details/105564127
今日推荐