我可以在真实设备中切换到webview,但无法在模拟器上切换到webview。使用的API版本是1.7.2

时间:2018-05-05 20:42:43

标签: android android-webview appium selenium-chromedriver appium-android

当我在真实设备上运行代码时,它运行正常,但是当我在模拟器上运行相同的代码时,它会显示webview上下文,但会出现以下错误: io.appium.java_client.NoSuchContextException:处理命令时发生未知的服务器端错误。原始错误:无法启动Chromedriver会话:无法创建新会话。 (原始错误:会话未创建例外:Chrome版本必须为> = 60.0.3112.0   (驱动程序信息:chromedriver = 2.33.506106(8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform = Mac OS X 10.13.4 x86_64))(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:0毫秒 构建信息:版本:' 3.11.0',版本:' e59cfb3',时间:' 2018-03-11T20:33:08.638Z' 系统信息:主持人:' Sanjays-MacBook-Air.local',ip:' fe80:0:0:0:10ca:4ed3:43d2:24ed%en0',os.name :' Mac OS X',os.arch:' x86_64',os.version:' 10.13.4',java.version:' 1.8。 0_171' 驱动程序信息:io.appium.java_client.android.AndroidDriver 功能{Browser_Name:Chrome,appActivity:mobile.zineone.com.function ...,appPackage:mobile.zineone.com.function,autoGrantPermissions:true,databaseEnabled:false,desired:{Browser_Name:Chrome,appActivity:mobile.zineone。 com.function ...,appPackage:mobile.zineone.com.function,autoGrantPermissions:true,deviceName:Moto G,platformName:android,unicodeKeyboard:true},deviceManufacturer:unknown,deviceModel:为x86_64构建的Android SDK,deviceName:emulator -5556,deviceScreenSize:1440x2560,deviceUDID:emulator-5556,javascriptEnabled:true,locationContextEnabled:false,networkConnectionEnabled:true,platform:LINUX,platformName:LINUX,platformVersion:6.0,takesScreenshot:true,unicodeKeyboard:true,warnings:{}, webStorageEnabled:false} 会议ID:6e181e7b-f5b1-4357-882a-38d7de73d099

1 个答案:

答案 0 :(得分:0)

如果你仔细检查错误,你会看到它说明:

Original error: session not created exception: Chrome version must be >= 60.0.3112.0 Driver info: chromedriver=2.33.506106

Chromedriver是允许Appium与您设备上的实际Chrome浏览器进行通信的中间处理程序。

事情是:每个版本的chromedriver仅支持特定范围的chrome版本,在您的情况下 chromedriver 2.33支持Chrome v60-62

您的真实设备的Chrome浏览器版本为60-62,并且可以在那里运行。

但是你的模拟器很可能有旧版本的浏览器。

你的行动:

  1. 检查模拟器上的浏览器版本
  2. 找到匹配的Chrome驱动程序here并将其下载到您托管appium服务器的计算机上。
  3. 使用chromedriverExecutable功能在创建Appium会话时为新的chromedriver提供绝对路径
  4. 享受:)