예외 발생 요소를 클릭하면서 Appium에서 예외 java.lang.NoClassDefFoundError : org/openqa/selenium/HasTouchScreen을 얻는 중. 세 개의 로케이터 (텍스트, id, partialLinkText)을 동일한 코드로 동일한 태스크에 사용했지만 매번 동일한 예외가 발생했습니다. PFB 앱 DOM 스크린 샷, 코드, 예외, jarfile가 버전Appium에서 예외 발생 NoClassDefFoundError
- 셀레늄 - 안드로이드 - driver.jar
- 자바 클라이언트 4.1.2 (1)
- 셀레늄 - 서버 - 독립 - 3.0의 .jar .1.jar
"Sign In Or"을 클릭하여 모듈 서명을 자동화 할 수 있습니다. 하지만 첫 번째 단계에서 붙어있어 단지 :(
코드
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();
} }
예외 메시지
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)
잘못된 driver.findElement (By.partialLinkText ("로그인 또는")). click(); 체크 아웃 : https://www.youtube.com/watch?v=bT3tqaLNn-Y – Manidroid
@Manidroid 작동하지 않았다 manidroid –
selenium-android-driver.jar? – Manidroid