我收到以下错误消息:失败的配置:@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 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.0
在users complains中的版本。
此外,Appium Java客户端与版本4.0.0-alpha-2
,4.0.0-alpha-3
的Selenium Java客户端不兼容,因为Selenium Java客户端中的this change。