无法实例化 android 驱动程序 appium 1.8.1
Not able to instantiate android driver appium 1.8.1
我正在使用 appium 最新版本 1.8.1,selenium 3.14.0 java 客户端,appium 6.1.0 java 客户端。
下面是我获取 android 驱动程序实例的代码:
public AndroidDriver<?> driver;
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION, “1.8.1”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “K9 Viraat”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, “6.0”);
capabilities.setCapability(MobileCapabilityType.PLATFORM, “Android”);
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,
"UiAutomator2");
driver = new AndroidDriver<>(new URL(“https://0.0.0.0:4723/wd/hub”),
capabilities);
我有较早的 appium 1.4 和相应的 java 客户端。但是在更新到 1.8.1 版本后我收到错误:
“java.lang.NoClassDefFoundError:
org/openqa/selenium/remote/internal/OkHttpClient$Factory”
我也将 selenium java 客户端更新到 3.14.0,但它不工作。
如果有人遇到过此问题,请提供解决此问题的步骤。
您使用的 jar 文件有问题。
我建议你创建一个 maven 项目,因为它很容易管理依赖文件。在您的 pom.xml 文件中包含以下依赖项:
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
按如下方式定义您想要的功能。您需要在 desiredCapabilities 中提供 appPackage 和 appActivity。
AppiumDriver<MobileElement> driver;
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Android phone");
caps.setCapability("udid", "your device's udid");
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "your device's platform version");
caps.setCapability("appPackage", "your app's appPackage name");
caps.setCapability("appActivity", "your app's main appActivity name");
driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
让你的appium服务器启动。
我正在使用 appium 最新版本 1.8.1,selenium 3.14.0 java 客户端,appium 6.1.0 java 客户端。 下面是我获取 android 驱动程序实例的代码:
public AndroidDriver<?> driver;
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.APPIUM_VERSION, “1.8.1”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “K9 Viraat”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, “6.0”);
capabilities.setCapability(MobileCapabilityType.PLATFORM, “Android”);
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,
"UiAutomator2");
driver = new AndroidDriver<>(new URL(“https://0.0.0.0:4723/wd/hub”),
capabilities);
我有较早的 appium 1.4 和相应的 java 客户端。但是在更新到 1.8.1 版本后我收到错误:
“java.lang.NoClassDefFoundError:
org/openqa/selenium/remote/internal/OkHttpClient$Factory”
我也将 selenium java 客户端更新到 3.14.0,但它不工作。 如果有人遇到过此问题,请提供解决此问题的步骤。
您使用的 jar 文件有问题。 我建议你创建一个 maven 项目,因为它很容易管理依赖文件。在您的 pom.xml 文件中包含以下依赖项:
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
按如下方式定义您想要的功能。您需要在 desiredCapabilities 中提供 appPackage 和 appActivity。
AppiumDriver<MobileElement> driver;
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("deviceName", "Android phone");
caps.setCapability("udid", "your device's udid");
caps.setCapability("platformName", "Android");
caps.setCapability("platformVersion", "your device's platform version");
caps.setCapability("appPackage", "your app's appPackage name");
caps.setCapability("appActivity", "your app's main appActivity name");
driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
让你的appium服务器启动。