Как автоматически загрузить файл apk с локального пути в эмулятор Android в скриптинге (Appium)?

#selenium-webdriver #automated-tests #appium #appium-android #appium-desktop

#selenium-webdriver #автоматизированные тесты #appium #appium-android #appium-рабочий стол

Вопрос:

В настоящее время моя команда разработчиков интегрировала свой репозиторий с jenkins, он автоматически генерирует apk после сборки из jenkins, есть ли возможность установить этот локальный apk в эмулятор Android с помощью скрипта автоматизации.

Пожалуйста, кто-нибудь поможет мне в этом.

Комментарии:

1. вы имеете в виду, что хотите запустить следующую команду, используя java adb install <apk path>

Ответ №1:

Если вы используете appium, вы можете настроить возможности приложения в соответствии с вашими желаемыми возможностями.

  DesiredCapabilities caps = new DesiredCapabilities();
 caps.setCapability(MobileCapabilityType.APP, "path to your apk");
  

Ответ №2:

Используйте указанную ниже функцию и вызывайте ее, когда хотите выполнить .Файл APK на эмуляторе

  1. Перед вызовом этого приложения у вас должен быть запущен сервер Appium
  2. это запустит эмулятор для вас и установит.Файл APK на том же.

      protected AppiumDriver getAppiumDriver() throws MalformedURLException {
    
        if(appDriver == null)
        {
            DesiredCapabilities cap = new DesiredCapabilities();
    
            // APK location on system
             File appDir = new File("/Users/therapybox/Desktop/Appium/Apps");
    
    
            /* ANDROID DEPENDENCIES START*/
    
            File newApp = new File (appDir ,"selendroid-test.apk" );
            cap.setCapability(CapabilityType.BROWSER_NAME, "");
            cap.setCapability("deviceName", "Android Emulator");
            cap.setCapability("platformName", "Android");
            cap.setCapability("platformVersion","8.0");
            cap.setCapability("noReset", true);
            cap.setCapability("avd", "Nexus5XAPI26");
            cap.setCapability("automationName", "UiAutomator2");
            cap.setCapability("app", newApp.getAbsolutePath());
            appDriver = new AppiumDriver(new URL("http://0.0.0.0:4723/wd/hub"), cap);
        }
    
        return appDriver;
    }