Я пытался запустить автоматизацию на appium 1.1.0, но не смог запустить автоматизацию из-за следующей ошибки. Я попытался запустить автоматизацию на реальном устройстве, используя режим selendroid на appium.
Ниже приведены шаги, которые я выполнил во время автоматизации:
- Запущен Selendroid сервер
- Запущен сервер Appium, который указывает на порт, на котором работает сервер selendroid.
- Запустил автоматизацию с помощью Maven
Селендроид сервер:
XXXXX+ 14000 2480 0 18:30 pts/0 00:00:01 java -jar /home/XXXXXX/Selendroid/selendroid-standalone-0.10.0-with-dependencies.jar -aut /home/XXXXX/Selendroid/en-android.apk -selendroidServerPort 9001
Аппиум сервер:
XXXXX+ 14001 2480 0 18:30 pts/0 00:00:01 node /home/XXXXXX/.linuxbrew/bin/appium -q -p 6001 -bp 4001 -U cff19ff1e200dbe --selendroid-port 9001
Автоматизация начала использовать Maven:
mvn clean install -Dappium_port=6001
Возможности приложения:
private static String url = "http://localhost:"
+ System.getProperty("appium_port") + "/wd/hub";
private AppiumDriver driver;
private static DesiredCapabilities capabilities;
public void setUpCapabilities() throws Exception {
capabilities = new DesiredCapabilities();
File app = new File("en-android.apk");
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("automationName", "Selendroid");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appActivity", ".gui.StartActivity");
capabilities.setCapability("appPackage","test");
}
public AppiumDriver automationInit() throws Exception {
driver = new AppiumDriver(new URL(url), capabilities);
return driver;
}
Трассировки стека:
java.lang.NoClassDefFoundError: org/apache/http/conn/SchemePortResolver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:99)
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:82)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:153)
at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:41)
at test.utils.TestUtility.automationInit(TestUtility.java:40)
Пожалуйста, подскажите, как решить эту проблему? Что-то не так с возможностями appium при тестировании на реальных устройствах?
Спасибо,
Приянк Шах