【问题标题】:Error when running Appium driver : Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/HttpVerb运行 Appium 驱动程序时出错:线程“main”中的异常 java.lang.NoClassDefFoundError: org/openqa/selenium/remote/HttpVerb
【发布时间】:2020-01-27 04:41:54
【问题描述】:

我正在尝试使用 appium 模拟器自动化我的应用程序。我已经完成了 Appium 设置。 当我运行下面附加的示例程序时。 Java 程序在启动 iphone 模拟器后终止,出现以下错误 如果我缺少任何 .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);
  }
    }

}

【问题讨论】:

    标签: ios appium


    【解决方案1】:

    这个类已经被弃用一年多了,最近它被删除了: https://github.com/SeleniumHQ/selenium/commit/46d425d3a5fa8e21cf955d7b41bf436548e4971d 此更改包含在 Selenium 版本 2.46 中。

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

    【讨论】:

      【解决方案2】:

      我在使用 Android 时遇到了同样的问题。但是当我将 AppiumDriver 更改为 RemoteWebdriver 时,问题得到了解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-11-04
        • 2019-12-20
        • 2018-05-29
        • 2017-12-21
        • 1970-01-01
        • 2016-08-10
        • 2021-12-12
        相关资源
        最近更新 更多