Как исправить определения URL в Eclipse для Appium Server - PullRequest
0 голосов
/ 14 ноября 2018

Я новичок в затмении.Я пытаюсь запустить тест Appium на устройствах Android.Мои предпочтения:

  • Аппиум 1.8.2
  • jre1.8.0_191
  • jdk1.8.0_191
  • затмение 4.9.0
  • TestNG
  • AndroidStudio 3.2.1
  • AndroidDeveloperTools

Итак, после установки настройте Appiumserver, Android SDK, диспетчер устройств Android - следующий шаг - начать тестирование вEclipse IDE У меня проблема с определением URL, и я не знаю, что делать.jar-файлы:

  • java-client-6.1.0.jar
  • gson-2.8.5.jar
  • client-комбинированный-3.9.0-sources.jar
  • client-комбинированный-3.9.0.jar
  • seleium-3.9.0-nodeps-sources.jar
  • seleium-3.9.0-nodeps.jar
  • seleium-html-runner-3.9.0.jar
  • seleium-server-standalone-3.9.0.jar
  • TestNG
  • Системная библиотека JRE

это все

import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;


public class FirstScript {
    private URL           serverUrl;

    public static AndroidDriver driver;

        public String APPIUM_PORT = "4723";

    @BeforeClass
    public void setUp() throws MalformedURLException{
        //Set the Desired Capabilities
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("deviceName", "Samsung S7");
        caps.setCapability("udid", "******************"); //Give Device ID of your mobile phone
        caps.setCapability("platformName", "Android");
        caps.setCapability("platformVersion", "8.0");
        caps.setCapability("appPackage", "com.***.***");
        caps.setCapability("appActivity", "com.***.***.MainActivity");
        caps.setCapability("noReset", "true");
        try {
                serverUrl = new URL("http://127.0.0.1:4723/wd/hub");
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
        driver = new AndroidDriver (serverUrl,caps);
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    }

    @Test
    public void testExample() {***}

    @AfterClass
    public void tearDown() {driver.closeApp();}
}

Запуск отладки для этого кода с ошибкой

Сервер работает

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Решение вашей проблемы заключается в том, что вы используете последнюю стабильную версию Selenium, то есть 3.141.5

Если у вас Java-проект, то перед добавлением новой последней версии jar убедитесь, что сначала удалили все связанные с селеном старые jar-файлы, а затем добавили недавно загруженную версию jar-файла в путь сборки.

В случае проекта Maven обновите версию зависимости от селена до последней и запустите на терминале следующую команду:

$ mvn clean install
0 голосов
/ 14 ноября 2018

Я предлагаю вам использовать maven project и зависимости: java-client , selenium-java и testng .

Если вы не хотите использовать проект maven, вам нужно импортировать указанные выше библиотеки в eclipse. Для этого В рабочей области Eclipse щелкните правой кнопкой мыши свой проект на левой панели -> Свойства -> Путь сборки Java -> Добавить Jars -> добавьте туда свои jar.

Измените свой код следующим образом:

public class FirstScript {

   public static AppiumDriver<MobileElement> driver;

    @BeforeClass
    public void setUp() throws MalformedURLException{
        //Set the Desired Capabilities
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setCapability("deviceName", "Samsung S7");
        caps.setCapability("udid", "******************"); //Give Device ID of your mobile phone
        caps.setCapability("platformName", "Android");
        caps.setCapability("platformVersion", "8.0");
        caps.setCapability("appPackage", "com.***.***");
        caps.setCapability("appActivity", "com.***.***.MainActivity");
        caps.setCapability("noReset", "true");

        driver = new AndroidDriver (new URL("http://127.0.0.1:4723/wd/hub"),caps);
        driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    }


}
...