Appium 无法启动Chromedriver会话:无法创建新会话。详细信息:未创建会话:Chrome版本必须介于71和75之间

Appium 无法启动Chromedriver会话:无法创建新会话。详细信息:未创建会话:Chrome版本必须介于71和75之间,appium,appium-android,Appium,Appium Android,我正在尝试在我的Android手机上发布chrome,它的chrome版本是:76.0.3809.89 当我运行Java程序时,我得到以下错误: Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: A

我正在尝试在我的Android手机上发布chrome,它的chrome版本是:76.0.3809.89

当我运行Java程序时,我得到以下错误:

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Unable to automate Chrome version because it is too old for this version of Chromedriver.
Chrome version on the device: Chrome/76.0.3809.89
Visit 'https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md' to troubleshoot the problem.
Failed to start Chromedriver session: A new session could not be created. Details: session not created: Chrome version must be between 71 and 75
  **(Driver info: chromedriver=2.46.628402** (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17763 x86_64)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'abc', ip: '10.0.1.1', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_221'
Driver info: driver.version: AndroidDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Unable to automate Chrome version because it is too old for this version of Chromedriver.
**Chrome version on the device: Chrome/76.0.3809.89**
Visit 'https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md' to troubleshoot the problem.
我有以下问题:

  • 如日志中所述,从何处选择chromedriver=2.46.628402
  • 如何修复此错误
  • 我的代码:

    package browserTest;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import io.appium.java_client.AppiumDriver;
    import io.appium.java_client.MobileElement;
    import io.appium.java_client.android.AndroidDriver;
    import io.github.bonigarcia.wdm.WebDriverManager;
    
    public class ChromeTest {
        public static void main(String args[]) {
            //Set the Desired Capabilities
            DesiredCapabilities cap = new DesiredCapabilities();
            cap.setCapability("deviceName", "My Android Mobile");
            cap.setCapability("udid", "521010f9ee4fb499");
            cap.setCapability("platformName", "Android");
            cap.setCapability("platformVersion", "7.0");
            cap.setCapability("browserName", "Chrome");
            cap.setCapability("noReset", true);
    
            //Instantiate Appium Driver
            AppiumDriver<MobileElement> driver = null;
            try {
                driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
            }catch (MalformedURLException e) {
                e.getMessage();
            }
    
            //Open URL in Chrome browser
            driver.get("http://www.google.com");
        }
    }
    
    包浏览器测试;
    导入java.net.MalformedURLException;
    导入java.net.URL;
    导入org.openqa.selenium.remote.DesiredCapabilities;
    导入io.appium.java_client.AppiumDriver;
    导入io.appium.java_client.MobileElement;
    导入io.appium.java_client.android.AndroidDriver;
    导入io.github.bonigarcia.wdm.WebDriverManager;
    公共级色度计{
    公共静态void main(字符串参数[]){
    //设置所需的功能
    DesiredCapabilities=新DesiredCapabilities();
    cap.setCapability(“deviceName”、“我的Android手机”);
    第4章设定能力(“udid”、“521010f9ee4fb499”);
    cap.setCapability(“平台名”、“安卓”);
    上限设定能力(“平台版”、“7.0”);
    第二章可设置性(“浏览器名”、“浏览器名”);
    cap.setCapability(“noReset”,正确);
    //实例化应用程序驱动程序
    APPIUMDRIVE驱动程序=null;
    试一试{
    驱动程序=新的AndroidDriver(新的URL(“http://127.0.0.1:4723/wd/hub"(香港法例第六章),;
    }捕获(格式错误){
    e、 getMessage();
    }
    //在Chrome浏览器中打开URL
    驱动程序。获取(“http://www.google.com");
    }
    }
    
    您需要正确的chromedriver,它可以在您的设备上处理Chrome76

    您可以尝试使用appium手动设置,请参见:

    npm安装应用程序--chromedriver_version=“76.0.3809.68”

    另一个可行的选择是使用。 它会自动下载正确的驱动程序并相应地设置功能。 只需将其添加到您的项目中

    例如,如果您有一个gradle项目,请在build.gradle中添加以下行:

    编译组:“io.github.bonigarcia”,名称:“webdrivermanager”, 版本:“3.6.2” 然后,您需要在驱动程序功能中设置chromedriver:


    我将Windows和AppiumServer与nodejs一起使用

    你可以下载 匹配chrome驱动程序版本

    并在以下位置更换chrome驱动程序:

    C:\Users\{username}\AppData\Roaming\npm\node\u modules\appium\node\u modules\appium chromedriver\chromedriver\win

    使用此命令chromedriver.exe-version

    您可以像这样检查版本

    C:\Users\{username}\AppData\Roaming\npm\node\u modules\appium\node\u modules\appiu m-chromedriver\chromedriver\win>chromedriver.exe-版本

    ChromeDriver 2.46.628402(536cd7adbad73a3783fdc2cab92ab2ba7ec361e1)

    C:\Users\{username}\AppData\Roaming\npm\node\u modules\appium\node\u modules\appiu m-chromedriver\chromedriver\win>chromedriver.exe-版本

    ChromeDriver 76.0.3809.12(220B19A66554BDCAC56DFF9FFD44C300842C933参考/分支- 总目(3809(83)

    WebDriverManager.chromedriver().setup();
    cap.setCapability("chromedriverExecutable", WebDriverManager.chromedriver().getBinaryPath());