如何解决 NoSuchMethodError 和 appiumDriver 错误
How to resolve NoSuchMethodError and appiumDriver error
package demo;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import io.appium.java_client.android.AndroidDriver;
public class Test {
RemoteWebDriver driver;
public static void main(String[] args)throws MalformedURLException, InterruptedException{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Samsung S4");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
capabilities.setCapability("platformVersion", "5.0.1");
RemoteWebDriver driver = new AndroidDriver(new
URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("http://www.google.com");
WebElement keyword = driver.findElementByName("q");
keyword.sendKeys("appium");
driver.findElement(By.id("btnK")).click();
Thread.sleep(5000);
}
}
错误是
Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.(Lorg/openqa/selenium/remote/ErrorCodes;Z)V
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:46)
at demo.Test.main(Test.java:31)
我已经添加了所有必要的 Jars 文件。当我 运行 代码在 appium 服务器上没有任何反应。任何帮助!
NoSuchMethodError - 当您尝试使用反射访问 运行 时不可用的方法时,通常会抛出此异常。
此错误可能是由于库 (jars) 版本不匹配,其中某些方法已被删除。
你能再检查一次代码吗"capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");"
还有与"import io.appium.java_client.android.AndroidDriver;"相关的jar..
再次尝试导入最新的 jar 和 运行。
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.browser");
capabilities.setCapability("appActivity","com.android.browser.BrowserActivity");
capabilities.setCapability("platformVersion", "5.1");
将我的 java-client jar 更改为版本 5.0.4 解决了我的问题。您可以从给定的 link 下载它:
https://mvnrepository.com/artifact/io.appium/java-client
此外,请确保您的 APK 必须存在于 src 文件夹路径中。
C:\Users\abc\workspace\AppiumFirst\src
package demo;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import io.appium.java_client.android.AndroidDriver;
public class Test {
RemoteWebDriver driver;
public static void main(String[] args)throws MalformedURLException, InterruptedException{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Samsung S4");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
capabilities.setCapability("platformVersion", "5.0.1");
RemoteWebDriver driver = new AndroidDriver(new
URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.get("http://www.google.com");
WebElement keyword = driver.findElementByName("q");
keyword.sendKeys("appium");
driver.findElement(By.id("btnK")).click();
Thread.sleep(5000);
} }
错误是
Exception in thread "main" java.lang.NoSuchMethodError: org.openqa.selenium.remote.ErrorHandler.(Lorg/openqa/selenium/remote/ErrorCodes;Z)V at io.appium.java_client.AppiumDriver.(AppiumDriver.java:46) at demo.Test.main(Test.java:31)
我已经添加了所有必要的 Jars 文件。当我 运行 代码在 appium 服务器上没有任何反应。任何帮助!
NoSuchMethodError - 当您尝试使用反射访问 运行 时不可用的方法时,通常会抛出此异常。
此错误可能是由于库 (jars) 版本不匹配,其中某些方法已被删除。
你能再检查一次代码吗"capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");"
还有与"import io.appium.java_client.android.AndroidDriver;"相关的jar..
再次尝试导入最新的 jar 和 运行。
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.browser");
capabilities.setCapability("appActivity","com.android.browser.BrowserActivity");
capabilities.setCapability("platformVersion", "5.1");
将我的 java-client jar 更改为版本 5.0.4 解决了我的问题。您可以从给定的 link 下载它:
https://mvnrepository.com/artifact/io.appium/java-client
此外,请确保您的 APK 必须存在于 src 文件夹路径中。
C:\Users\abc\workspace\AppiumFirst\src