2017-07-25 111 views
1
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); 

}} 如何解決的NoSuchMethodError和appiumDriver錯誤

錯誤是

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)

我添加了所有必要的罐子文件。當我運行代碼時,appium服務器上沒有任何事情發生。任何幫助!

回答

0

你能重新檢查一次代碼嗎「capabilities.setCapability(CapabilityType.BROWSER_NAME,」Chrome「);」

,也罐子有關「進口io.appium.java_client.android.AndroidDriver;」 ..

嘗試導入最新的罐子,然後再次運行。

capabilities.setCapability("platformName", "Android"); 
capabilities.setCapability("appPackage", "com.android.browser"); 
capabilities.setCapability("appActivity","com.android.browser.BrowserActivity"); 
capabilities.setCapability("platformVersion", "5.1"); 
0

NoSuchMethodError - 通常會在您嘗試訪問使用反射的運行時不可用的方法時引發此異常。

此錯誤可能是由於庫(jar)版本不匹配而導致某些方法已被刪除。