发生错误:java.lang.ClassNotFoundException

时间:2019-11-29 10:45:45

标签: java eclipse appium

我是编码新手。目前,我正在使用Appium Java Eclipse。

下面是错误日志。

  Nov 29, 2019 6:37:48 PM io.appium.java_client.remote.AppiumCommandExecutor$1 lambda$0
    INFO: Detected dialect: W3C
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
        at io.appium.java_client.internal.ElementMap.getElementClass(ElementMap.java:77)
        at io.appium.java_client.internal.JsonToMobileElementConverter.newRemoteWebElement(JsonToMobileElementConverter.java:67)
        at org.openqa.selenium.remote.internal.JsonToWebElementConverter.apply(JsonToWebElementConverter.java:55)
        at io.appium.java_client.internal.JsonToMobileElementConverter.apply(JsonToMobileElementConverter.java:61)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:561)
        at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41)
        at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
        at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
        at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:323)
        at io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:61)
        at io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1)
        at io.appium.java_client.android.AndroidDriver.findElement(AndroidDriver.java:1)
        at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:428)
        at io.appium.java_client.DefaultGenericMobileDriver.findElementByXPath(DefaultGenericMobileDriver.java:151)
        at io.appium.java_client.AppiumDriver.findElementByXPath(AppiumDriver.java:1)
        at io.appium.java_client.android.AndroidDriver.findElementByXPath(AndroidDriver.java:1)
        at DemoActualAutomation.main(DemoActualAutomation.java:15)
    Caused by: **java.lang.ClassNotFoundException**: org.apache.commons.lang3.StringUtils
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)

DemoActualAutomation.class:

import java.net.MalformedURLException;
import java.util.concurrent.TimeUnit;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class DemoActualAutomation extends AppiumDemo {
    public static void main(String[] args) throws MalformedURLException {
        // TODO Auto-generated method stub
        AndroidDriver<AndroidElement> driver = Capabilities();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.findElementByXPath("//android.widget.TextView[@text='Preference']").click();
    }

}

我想念什么吗?请帮忙。谢谢!!

3 个答案:

答案 0 :(得分:0)

org/apache/commons/lang3/StringUtils表示您正在使用commons-lang3。您应该将commons-lang3-xxx.jar添加到类路径。 commons-lang-2.6没有lang3软件包。

答案 1 :(得分:0)

答案 2 :(得分:0)

下载commons-lang3-3.9-bin.zip

在Eclipse中,转到“项目”>“ Rt”。单击>构建路径>配置构建路径>添加外部Jars>选择所有4个jars>应用并关闭。 您的代码将运行...