java.lang.NoSuchMethodError:io.appium.java_client.AppiumDriver.setElementConverter(Lorg / openqa / selenium / remote / internal / JsonToWebElementConverter;)V

问题描述 投票:1回答:1

我收到以下错误消息:失败的配置:@BeforeTest设置java.lang.NoSuchMethodError:io.appium.java_client.AppiumDriver.setElementConverter(Lorg / openqa / selenium / remote / internal / JsonToWebElementConverter;)V“

<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>4.0.0-alpha-2</version>
</dependency>

以下代码

public class Bc {
AppiumDriver<MobileElement> driver;
@BeforeTest
public void setup()
{
try {
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554");
dc.setCapability("platformName","android");
dc.setCapability("appPackage","com.android.calculator2");
dc.setCapability("appActivity","com.android.calculator2.Calculator");
URL("http://0.0.0.0:4723/wd/hub"),dc);
URL url= new URL("http://127.0.0.1:4723/wd/hub");
driver = new AppiumDriver<MobileElement>(url,dc);
MobileElement el1 = (MobileElement) 
driver.findElementById("com.android.calculator2:id/digit_2");
el1.click();
MobileElement el2 = (MobileElement) 
driver.findElementById("com.android.calculator2:id/digit_5");
el2.click();
MobileElement el3 = (MobileElement) 
driver.findElementByAccessibilityId("plus");
el3.click();
MobileElement el4 = (MobileElement) 
driver.findElementById("com.android.calculator2:id/digit_3");
el4.click();
MobileElement el5 = (MobileElement) 
driver.findElementById("com.android.calculator2:id/digit_9");
el5.click();
MobileElement el6 = (MobileElement) 
driver.findElementByAccessibilityId("equals");
el6.click();
Assert.assertEquals
(driver.findElementById("com.android.calculator2:id/result").getText(),64);
}
catch (Exception exp) {
System.out.println("Cause is:"+exp.getCause());
System.out.println("Message is:"+exp.getMessage());
exp.printStackTrace();
}
}

@Test
public void sampletes()
{
System.out.println("im inside sample test");
}

@AfterTest
public void teardown() {

}
}

我遇到以下错误it contains the error detailsit contains error description

appium-android
1个回答
0
投票

提供的配置包含不兼容的依赖项。

这里是依赖性兼容性矩阵:

|Appium Java client|Selenium Java client| 
|------------------|--------------------| 
| 7.3.0            | 3.141.59           |
| 7.2.0            | 3.141.59           |
| 7.1.0            | 4.0.0-alpha-1      |
| 7.0.0            | 3.141.59           |

由于was downgraded,Selenium Java客户端7.2.0users complains中的版本。

此外,Appium Java客户端与版本4.0.0-alpha-24.0.0-alpha-3的Selenium Java客户端不兼容,因为Selenium Java客户端中的this change

© www.soinside.com 2019 - 2024. All rights reserved.