Appium [python+appium][app 自动化测试,提示 no such session,替换 chormedriver 无法替换成功,求助][过往帖子无法解决]

SS · 2017年12月12日 · 最后由 SS 回复于 2017年12月13日 · 2110 次阅读

测试环境:python3.6 , appium 1.5.3 ,selenium 3.0;
测试用电脑:macbookAir OS X 10.11.6 x86_64 ,安装 chrome 浏览器版本:49.0
测试用手机:魅蓝 Note Android 5.1 ,手机 webdriver 版本 :40.0
出现的问题:
1、自动化跑到 webdview 界面后,通过
webview = driver.contexts[-1]
driver.switch_to.context(webview)
已成功从 NATIVE 切换到 webview
2、通过
driver.execute_async_script("$('.js-goProgress').trigger('tap')") 或
driver.find_element_by_xpath("//android.widget.TextView[contains(@text,'icon-director-arr')]")
定位 webview 上面的元素并点击,都会报下面的错:
selenium.common.exceptions.WebDriverException: Message: no such session
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.11.6 x86_64)
3、通过查阅之前的同类问题,定位是 chromedriver 版本与手机的 webdriver 版本不匹配导致。故下载了跟手机 40.0 匹配的 chromedriver 版本:v2.15
chromedriver 与 chrome 版本对照参阅网址:http://blog.csdn.net/huilan_same/article/details/51896672
4、然后将下载的 chromedriver 替换如下地址的同名文件
/usr/local/lib/node_modules/appium/node_modules/_appium-chromdriver@3.1.0@appium-chromedriver/chromedriver/mac
5、重启 appium,重复上面 1、2 步骤,同样还是报第 2 步中的错误。说明上面第 4 步的替换没有成功。
请问到底哪里出了问题?我搜索了所有的 chromedriver 的文件,能替换的都替换了,报错信息中提示的 chromedriver 的版本还是 2.21

共收到 4 条回复 时间 点赞

建议还是检查一下替换文件的路径,报错告诉你了 chromedriver 版本还是 2.21,说明你替换的 2.15 版本并没有起作用,可能是你放错了位置。你试试把 2.21 完全卸了看看?

appium 的 log 很详细,里面会提示 chromedriver 用的是哪个,你自己看看

SS #3 · 2017年12月13日 Author

谢谢你的答复。在 appium 的日志里面找到了下面这句:[Chromedriver] Spawning chromedriver with: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/node_modules/appium-chromedriver/chromedriver/mac/chromedriver --url-base=wd/hub --port=9515 --adb-port=5037

把这个路径里的 chromedriver 替换掉,替换成功啦。谢谢啦~

SS #6 · 2017年12月13日 Author
我去催饭 回复

谢谢你的答复。问题已经解决啦,谢谢~

SS 关闭了讨论 12月13日 10:40
SS 重新开启了讨论 12月13日 10:40
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册