![](/img/trans.png)
[英]java.lang.ClassNotFoundException is comming when running appium script
[英]java.lang.ClassNotFoundException when running trying to open android emulator with appium
我正在嘗試從 Eclipse 中的 Windows 運行以下代碼,並找到我在標題中提到的錯誤。 任何人都可以請建議我。
代碼:
package com.apanp.one;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.MobileCapabilityType;
public class base {
public static void main(String[] args) throws MalformedURLException {
File f = new File("src");
File fs =new File(f,"original.apk");
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Shayan");
cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");
AndroidDriver<AndroidElement> driver = new AndroidDriver <> (new URL("http://127.0.0.1/wd/hub"), cap);
}
}
錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:821) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:719) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:600) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at com.apanp.one.base.main(base.java:24) Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)... 10 more
配置:
JDK JAVA_HOME:C:\Program Files\Java\jdk-14.0.1 Java bin: Z0D61F8370CAD1D412F80B84D1\Java\Program Files\Java\jdk-14.0.1
ANDROID STUDIO DOWNLOAD: https://developer.android.com/studio ANDROID_HOME=C:\Users\Shahid\AppData\Local\Android\Sdk ANDROID-TOOLS-PATH:C:\Users\Shahid\AppData\Local\Android\ SDK\tools ANDROID-TOOLS-BIN PATH: C:\Users\Shahid\AppData\Local\Android\Sdk\tools\bin ANDROID-PLATFORM-PATH:C\Local\Android\AppData -工具
在 AVD 管理器中創建 ANDROID 仿真器
我們可以通過命令提示符調用模擬器:C:\Users\Shahid\AppData\Local\Android\Sdk\emulator THEN TYPE:emulator -avd Shayan
安裝 node.js: https://nodejs.org/en/download/
NODE_HOME:C:\Program Files\nodejs
NPM_HOME:C:\Program Files\nodejs\node_modules\npm\bin
安裝應用程序服務器(通過命令提示符使用 npm): npm install -g appium
Appium 服務器的一些命令: - 啟動 appium 服務器: appium - 關閉 appium 服務器: ctrl + C; Y/N-> y 和 ENTER - 檢查版本:appium --version - 檢查它在哪里:哪里 appium
安裝APPIUM JAVA客戶端庫: http://appium.io/downloads.html ; SELECT JAVA; SELECT JAR
DOWNLOAD ECLIPSE: https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2020-03/R/eclipse-inst-win64.exe
ClassNotFoundException意味着您的classpath
中沒有任何 class 來解決此com/google/common/base/Function ,這意味着您缺少此 class ,它屬於您的項目中的番石榴依賴項/jar。 如果您使用的是 maven,請添加以下依賴項
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.6-jre</version>
<!-- or, for Android: -->
<version>23.6-android</version>
</dependency>
對於 java:
您可以下載 jar 文件並將其保存在 class 路徑上
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.