当我尝试运行 appium 自动化项目时,方法 getBinaryPath() 未定义为 Eclipse 中显示的类型 WebDriverManager 错误
Posted
技术标签:
【中文标题】当我尝试运行 appium 自动化项目时,方法 getBinaryPath() 未定义为 Eclipse 中显示的类型 WebDriverManager 错误【英文标题】:The method getBinaryPath() is undefined for the type WebDriverManager error shows in eclipse while i am trying to run appium automation project 【发布时间】:2021-05-22 22:22:16 【问题描述】:我正在尝试运行一个迷你 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);
【问题讨论】:
【参考方案1】:那是因为如果你真的去仓库打开有问题的类,你会发现没有为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);
【讨论】:
好吧,我能够找到发生此更改的提交,似乎getDownloadedDriverPath()
是正确的猜测:github.com/bonigarcia/webdrivermanager/commit/…以上是关于当我尝试运行 appium 自动化项目时,方法 getBinaryPath() 未定义为 Eclipse 中显示的类型 WebDriverManager 错误的主要内容,如果未能解决你的问题,请参考以下文章