当我尝试运行 appium 自动化项目时,方法 getBinaryPath() 对于 Eclipse 中显示的类型 WebDriverManager 错误未定义

问题描述

我正在尝试运行一个迷你 appium 项目,我运行了模拟器和一个 appium 服务器,这是我的代码,它说 .getBinaryPath() is undefined for type WebDriverManager "caps.setCapability("chromedriverExecutable",WebDriverManager.chromedriver().getBinaryPath());"

package appiumBasics;

import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import io.github.bonigarcia.wdm.WebDriverManager;

@Test
public class RubWebApplicationAndroidEmulator {

    public void OpenWebApplication() throws MalformedURLException {
        DesiredCapabilities caps = new DesiredCapabilities();
    
        caps.setCapability(MobileCapabilityType.broWSER_NAME,"chrome");
        caps.setCapability(MobileCapabilityType.DEVICE_NAME,"HaidyEmulator");
    WebDriverManager.chromedriver().setup();
    caps.setCapability("chromedriverExecutable",WebDriverManager.chromedriver().getBinaryPath());
        
    AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),caps);
    
    }
}

解决方法

那是因为如果你真的去仓库打开有问题的类,你会发现没有为WebDriverManager定义这样的方法:

https://github.com/bonigarcia/webdrivermanager/blob/master/src/main/java/io/github/bonigarcia/wdm/WebDriverManager.java

据推测,这在某个时候发生了变化。可能你需要 WebDriverManager#getDownloadedDriverPath():

@Test
public class RubWebApplicationAndroidEmulator {

    public void OpenWebApplication() throws MalformedURLException {
        DesiredCapabilities caps = new DesiredCapabilities();
    
        caps.setCapability(MobileCapabilityType.BROWSER_NAME,"chrome");
        caps.setCapability(MobileCapabilityType.DEVICE_NAME,"HaidyEmulator");
    WebDriverManager.chromedriver().setup();
    caps.setCapability("chromedriverExecutable",WebDriverManager.chromedriver().getDownloadedDriverPath());
        
    AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),caps);
    
    }
}