Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Appium. Тестирование на реальном устройстве

real-device
mobile
appium
Теги: #<Tag:0x00007fedbc121630> #<Tag:0x00007fedbc1214a0> #<Tag:0x00007fedbc121360>

(Тест Тест) #1

Добрый день! Очень нужна ваша помощь. Подскажите, пожалуйста, возможно ли вообще писать приемочные тесты с помощью Appium на реальном девайсе без установки проекта и вообще есть ли такие тулзы?


(Богдан Ткаченко) #2

А как вы собираетесь тестировать проект, без установки его на девайс? А так в общем, почему вы решили, что нельзя писать приемочные тесты с помощью appium?


(Дмитрий Еремин) #3

простите, но пока очень противоречиво звучит

мы или ставим приложение на девайс и тестируем на нем
или не ставим и тестируем на эмуляторах

ну в этом суть тестирования на мобилках (ручного/автоматизированного)


(Jasper Jhons) #4

На эмуляторе в Вашем процессе откуда берется приложение? Запускается из исходников в Android Studio/Xcode?

Appium может делать все то, что вы можете делать руками (ну или почти все). В том числе устанавливать приложение на телефон/эмулятор.


(Yaroslav Pernerovskyy) #5

Проект устанавливать не надо, надо только apk файл откуда-то взять. А писать возможно что-угодо, хоть в нотпаде, хоть в атоме )=


(Тест Тест) #6

У меня есть apk файл. Подскажите, как именно и как правильно можно реализовать автоматизацию тестирования на девайсе?


(Fiodar Motin) #7

Все параметры передаются Testng.xml


    public String appName = "google.test.com";//название вашей прилаги
    public AndroidDriver androidDriver;
    String currentDir = System.getProperty("user.dir");

    @BeforeClass
    @Parameters({"port", "platformName", "deviceName", "VERSION", "remote" ,"apk"})//надо для передачи параметров в test.xml 
    public void setUp(String port, String pName, String dName, String version, String remote, String apk) throws MalformedURLException {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability(MobileCapabilityType.VERSION, version); //версия Android
        cap.setCapability("platformName", pName);  //платформа например Android
        cap.setCapability("deviceName", dName); // название устройства например
        cap.setCapability("autoGrantPermissions", true);// дать все разрешения для прилаги  что бы permission dialogs не мешали тестам
        cap.setCapability("app", currentDir + apk); // путь до вашего apk
        androidDriver = new AndroidDriver(new URL("http://" + remote + ":" + port + "/wd/hub"), cap);// url вашего appium
        WebDriverRunner.setWebDriver(androidDriver);
        Configuration.timeout = 30000;
    }

    @AfterClass
    public void closeDriver(){
        androidDriver.setConnection(Connection.WIFI);// можно удалить если с wifi в обще не работает
        close();
    }

Все потом просто наследовать от класса где setUp и писать тесты


(Богдан Ткаченко) #8

У вас проблема с установкой приложения на девайс/эмулятор? Что-то не понятно .