简体   繁体   English

在Appium中获取异常NoClassDefFoundError

[英]Getting Exception NoClassDefFoundError in Appium

Getting Exception java.lang.NoClassDefFoundError: org/openqa/selenium/HasTouchScreen in Appium while clicking on an Element. 获取异常java.lang.NoClassDefFoundError:在Appium中,单击元素时出现org / openqa / selenium / HasTouchScreen I have used three locators(text,id,partialLinkText) in my code same Task but still getting the Same Exception Every time. 我在我的代码相同的Task中使用了三个定位符(text,id,partialLinkText) ,但每次都仍得到相同的异常。 PFB the App DOM Screenshot, code,Exception,jarfile version PFB App DOM屏幕截图,代码,异常,jar文件版本

  1. selenium-android-driver.jar selenium-android-driver.jar
  2. java-client-4.1.2 (1).jar java-client-4.1.2(1).jar
  3. selenium-server-standalone-3.0.1.jar selenium-server-standalone-3.0.1.jar

I am trying to click on Text "Sign in Or" so i can automate the signin Module. 我试图单击“登录或”文本,以便我可以自动执行登录模块。 But I got stuck in First Step only :( 但是我只停留在第一步:(

在此处输入图片说明

Code

import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.android.AndroidDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class searsLogin {
    AndroidDriver driver;
  @BeforeTest
  public void setup() throws MalformedURLException {
      DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "ccdcb242");
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "ANDROID");
        capabilities.setCapability(CapabilityType.VERSION, "5.1.1");
        capabilities.setCapability("platformName", "Android");
          capabilities.setCapability("appPackage", "com.sears.android");
            capabilities.setCapability("appActivity", "com.android.sears.activity.MenuDrawerActivity");
             driver = (AndroidDriver) new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
           driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS);
  }
    @Test
  void execution()
  {
        // driver.findElementByName("Sign in or").click();/// contains method
 // boolean res = driver.findElement(By.name("Sign in or")).isDisplayed();  
//boolean res =  driver.findElement(By.xpath("//*[contains(text(),'Sign in or')]")).isDisplayed();
  driver.findElement(By.partialLinkText("Sign in or")).click(); 
     }
   @AfterTest
  public void end()
  {
      driver.quit();
  }  }

Exception Message 异常消息

java.lang.NoClassDefFoundError: org/openqa/selenium/HasTouchScreen
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)

You are using WEB locator for mobile. 您正在使用WEB定位器进行移动。 The correct XPath for this action would be following: 此操作的正确XPath将是:

By.xpath("//*[@text='Sign in or']")

In Appium v1.5.3 - Android,For Clicking on Locator "Name" try with : 在Appium v​​1.5.3-Android中,对于单击定位器“名称”,请尝试:

driver.findElementByAndroidUIAutomator("new UiSelector().text(\\"Locator name\\")").click(); driver.findElementByAndroidUIAutomator(“ new UiSelector()。text(\\” Locator name \\“)”)。click();

For mentioned screenshot : driver.findElementByAndroidUIAutomator("new UiSelector().text(\\"Sign in or\\")").click(); 对于上述屏幕截图:driver.findElementByAndroidUIAutomator(“ new UiSelector()。text(\\” Sign in or \\“)”)。click();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为FindsByCssSelector获取HtmlUnitDriver异常NoClassDefFoundError - Getting HtmlUnitDriver Exception NoClassDefFoundError for FindsByCssSelector 获取Jodd Jerry:NoClassDefFoundError-jodd / exception / UncheckedException - Getting Jodd Jerry: NoClassDefFoundError - jodd/exception/UncheckedException 获取奇怪的java.lang.NoClassDefFoundError异常 - Getting an odd java.lang.NoClassDefFoundError exception 一旦我运行我的Appium脚本,线程“main”java.lang.NoClassDefFoundError中的异常 - Exception in thread “main” java.lang.NoClassDefFoundError once I run my Appium script Appium 脚本为 android 应用程序抛出“线程“主”中的异常 java.lang.NoClassDefFoundError: org/objectweb/asm/Type” - Appium script throws “Exception in thread ”main“ java.lang.NoClassDefFoundError: org/objectweb/asm/Type” for android application NoClassDefFoundError异常 - NoClassDefFoundError exception 获取io.appium.uiautomator2.common.exceptions.UiAutomator2Exception错误 - Getting io.appium.uiautomator2.common.exceptions.UiAutomator2Exception error 在线程“主” java.lang.NoClassDefFoundError中得到异常: - getting Exception in thread “main” java.lang.NoClassDefFoundError: 为什么我得到NoClassDefFoundError异常而不是StackOverflow错误? - Why am I getting a NoClassDefFoundError exception rather than a StackOverflow error? 获取java.lang.NoClassDefFoundError:在Jboss上过滤异常 - Getting java.lang.NoClassDefFoundError: Filter exception on Jboss
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM