运行Appium驱动程序时出错:线程" main" java.lang.NoClassDefFoundError:org / openqa / selenium / remote / HttpVerb

时间:2015-06-09 16:23:43

标签: ios appium

我正在尝试使用appium模拟器自动化我的应用。我已经完成了Appium设置。 当我运行下面附带的示例程序时。 启动iphone模拟器后,Java程序因以下错误而终止  如果我遗漏任何.JAR文件,请帮帮我吗?

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/HttpVerb
    at io.appium.java_client.AppiumDriver.postC(AppiumDriver.java:644)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:51)
    at myFirstappium.main(myFirstappium.java:21)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.HttpVerb
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
import io.appium.java_client.AppiumDriver;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class myFirstappium {
  public static void main(String[] args) {

      try{


        DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("appium-version", "1.0");
            capabilities.setCapability("platformName", "iOS");
            capabilities.setCapability("platformVersion", "8.3");
            capabilities.setCapability("deviceName", "iPhone 6");
            capabilities.setCapability("app", "/Users/Gan/TEST_UAT.app");
            URL serverAddress = new URL("http://127.0.0.1:4723/wd/hub");
            WebDriver wd = new AppiumDriver(serverAddress, capabilities);
            wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
            wd.findElement(By.name("Sign in")).click();
            wd.findElement(By.xpath("//UIAApplication[1]/UIAWindow[2]/UIAScrollView[1]/UIATextField[1]")).sendKeys("test");
            wd.findElement(By.xpath("//UIAApplication[1]/UIAWindow[2]/UIAScrollView[1]/UIASecureTextField[1]")).sendKeys("ok");
            wd.close();
      }
      catch (Exception e)
      {
      System.out.println (e);
  }
    }

}

2 个答案:

答案 0 :(得分:0)

此类已被弃用超过一年,最近已被删除: https://github.com/SeleniumHQ/selenium/commit/46d425d3a5fa8e21cf955d7b41bf436548e4971d 此更改包含在Selenium 2.46版中。

这意味着您使用的Appium版本与Selenium 2.46

不兼容

答案 1 :(得分:-1)

我在使用Android时遇到了同样的问题。但当我将AppiumDriver更改为RemoteWebdriver时,问题得到解决。 Donno这是如何运作的。如果有人知道更好的解决方案,请帮助我:)