Как стать автором
Обновить

Часть I. Настройка Appium для работы в MacOS-M1

Уровень сложностиПростой

Вступление.

… прошло 5 месяцев с того момента, как я начал карьеру в IT, и вот я уже встал на путь исследования автотестов.

В третий раз настраивая Appium, решил собрать всю информацию об этом в одной статье. Возможно, кому-нибудь она будет полезна.

Первое, что мне нужно было сделать — это установить Homebrew: этот инструмент в разы облегчает установку и удаление программ.

Для анализа хода настройки Appium на своем компьютере нам понадобится инструмент Appium Doctor, он диагностирует и исправляет распространенные проблемы с конфигурацией Node, iOS и Android перед запуском Appium.

Подготовка к установке программ.

Homebrew — это менеджер пакетов для macOS, и команда brew install используется для удобной установки программных пакетов и приложений из командной строки.

Чтобы установить пакеты с помощью Homebrew на macOS, запустите Терминал и выполните следующую команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Эта команда загрузит и установит Homebrew в вашей системе. После установки вы можете использовать его для установки пакетов, например Node.js и npm. Выполните следующую команду в Терминале:

brew install node— это установит Node.js и npm с помощью Homebrew.

После установки Node.js и npm вы можете установить Appium Doctor с помощью npm. Выполните следующую команду:

npm install -g appium-doctor — флаг -g устанавливает пакет глобально, делая его доступным из любого каталога.

После вы можете использовать Appium Doctor, выполнив команду appium-doctor из консоли или терминала. Ниже на рис.1 представлен пример того, что вы можете получить как ответ проверки.

рис.1. Пример ответа диагностики Appium-Doctor.
рис.1. Пример ответа диагностики Appium-Doctor.

Для корректной работы необходимо исправить все ошибки, чтобы вместо крестиков были зеленые галочки.

Устранение ошибок

Возможно, у вас будут иные сообщения и неполадки, поэтому я опишу необходимые действия и для тех пунктов, которых нет на рис.1.

  1. ANDROID_HOME

    Для устранения необходимо установить Android Studio, используя команду:

    brew install --cask android-studio

Если у вас возникли проблемы с настройкой переменной среды ANDROID_HOME и добавлением ее в PATH в .zshrcфайле для Appium Studio, вы можете попробовать выполнить следующие действия:

  1. Откройте терминал в вашей системе macOS.

  2. Откройте .zshrcфайл в текстовом редакторе, используя следующую команду:

    open ~/.zshrc 
  3. В .zshrcфайле добавьте строки для установки переменной среды ANDROID_HOME и добавьте ее в PATH:

    export ANDROID_HOME=/path/to/your/android/sdk
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/tools/bin
    export PATH=$PATH:$ANDROID_HOME/emulator

    Замените /path/to/your/android/sdk фактическим путем к каталогу установки Android SDK.

  4. Сохраните изменения в .zshrcфайле и закройте текстовый редактор.

Теперь, когда вы запустите Appium Studio или используете связанные с Appium команды в терминале, он сможет правильно найти Android SDK.

  1. JAVA_HOME

    1. Убедитесь, что Java уже установлена ​​в вашей системе, выполнив следующую команду:

    java -version

    Если Java не установлена, вам необходимо загрузить и установить ее, прежде чем продолжить, используйте для этого команду:

    brew install --cask adoptopenjdk

    1. Определите путь, по которому в вашей системе установлена ​​Java. Путь установки по умолчанию для Java в macOS обычно — /Library/Java/JavaVirtualMachines/.

    2. В терминале установите переменную среды JAVA_HOME, выполнив следующую команду:

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home

    Замените <jdk_version>на номер версии установленного Java JDK. Например, если у вас установлена ​​Java 11, команда будет выглядеть так:

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
    1. Убедитесь, что переменная JAVA_HOME установлена ​​правильно, выполнив следующую команду:

    echo $JAVA_HOME

    Она должна отображать путь к вашей установке Java.

    1. Чтобы сделать переменную JAVA_HOME постоянной в сеансах терминала, вы можете добавить команду экспорта в файл конфигурации оболочки. Для macOS вы можете изменить файл .bash_profileили .zshrcв своем домашнем каталоге. Например:

    • Если вы используете Bash, запустите:

      echo 'export JAVA_HOME=/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home' >> ~/.bash_profile
    • Если вы используете Zsh, запустите:

      echo 'export JAVA_HOME=/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home' >> ~/.zshrc

    Не забудьте заменить <jdk_version>на фактический номер версии.

    1. Закройте и снова откройте приложение «Терминал», чтобы изменения вступили в силу.

Теперь переменная среды JAVA_HOME должна быть установлена ​​в консоли вашей системы macOS. Вы можете проверить это, запустив echo $JAVA_HOMEв Терминале.

  1. XCODE

  1. Введите следующие команды в Терминале одну за другой, чтобы установить зависимости:

brew install node
brew install carthage
brew install libimobiledevice
brew install ios-deploy
  1. Введите следующую команду в Терминале, чтобы установить Xcode:

brew install --cask xcode
  1. Homebrew загрузит и установит Xcode из Mac App Store. Этот процесс может занять некоторое время, так как Xcode — большое приложение.

  2. После завершения установки вам может потребоваться открыть Xcode и принять лицензионное соглашение. Откройте Терминал и выполните следующую команду:

    sudo xcodebuild -license accept
  3. После завершения установки вы можете найти Xcode в папке Applications. Запустите Xcode и следуйте инструкциям для завершения установки.

  1. DEV TOOLS SECURITY

    Dev Tools Security — это не отдельный инструмент или утилита командной строки в macOS. Возможно, произошло недопонимание или предоставлена ​​неверная информация.

    macOS имеет встроенные функции безопасности, которые контролируют доступ к различным инструментам и ресурсам разработчика. Эти функции безопасности предназначены для защиты вашей системы и предотвращения несанкционированного доступа.

    1. В Терминале введите следующую команду и нажмите Enter, чтобы загрузить сценарий безопасности Dev Tools:

    sudo /usr/sbin/DevToolsSecurity --enable
    1. Введите свой пароль и нажмите Enter. При вводе пароля в Терминале вы не увидите никакой визуальной обратной связи (например, звездочек или точек), но ввод будет произведен.

    1. Скрипт Dev Tools Security будет выполняться с привилегиями администратора, что позволит использовать инструменты разработчика в вашей системе. Этот процесс может занять несколько секунд.

    2. После завершения работы скрипта вы должны увидеть сообщение о том, что режим разработчика включен.

  2. AUTHORIZATION DB

    БД авторизации (authorizationdb) относится к структуре служб авторизации в macOS, которая предоставляет механизм для управления политиками авторизации и контроля доступа в системе. Он позволяет администраторам и разработчикам определять и применять правила, касающиеся привилегий и разрешений, предоставляемых пользователям, приложениям и процессам.

    БД авторизации отвечает за обработку запросов на авторизацию и определение того, следует ли разрешить конкретное действие или операцию на основе определенных политик и правил. Он предоставляет способ контролировать доступ к конфиденциальным ресурсам и выполнять привилегированные операции.

    1. В Терминале введите следующую команду и нажмите Enter, чтобы установить инструмент Authorization DB:

    brew install authorizationdb
    
    1. После завершения установки вы можете приступить к использованию инструмента авторизации базы данных для управления политиками авторизации.

  3. CARTHAGE

    Carthage — это менеджер зависимостей для проектов разработки macOS и iOS. Это позволяет разработчикам легко управлять сторонними библиотеками и фреймворками и интегрировать их в свои проекты Xcode.

    1. Вы можете установить Carthage, выполнив следующую команду в Терминале:

      brew install carthage

      Эта команда загрузит и установит Carthage и все необходимые зависимости.

    2. После завершения установки вы можете убедиться, что Carthage успешно установлен, выполнив следующую команду:

      carthage version

      Если Carthage установлен правильно, он отобразит номер версии.

  4. ADB

    ADB — Android Debug Bridge. Это инструмент командной строки, который является частью Android SDK (Software Development Kit). ADB обеспечивает связь между компьютером и устройством Android или эмулятором, позволяя разработчикам выполнять различные задачи по отладке и разработке.

    1. Вы можете установить ADB, выполнив следующую команду в Терминале:

      brew install android-platform-tools

      Эта команда загрузит и установит пакет Android Platform Tools, который включает ADB и другие полезные инструменты для разработки под Android.

    2. После завершения установки вы можете убедиться, что ADB установлен, выполнив следующую команду:

      adb version

      Если ADB установлен правильно, он отобразит информацию о версии.

  5. OPENCV4NODEJS

    1. Вы можете установить opencv4nodejs, выполнив следующую команду в Терминале:

      npm install opencv4nodejs

      Эта команда загрузит и установит opencv4nodejsпакет и его зависимости в ваш текущий каталог проекта.

    2. В зависимости от конфигурации вашей системы для установки могут потребоваться дополнительные зависимости, такие как сам OpenCV. При появлении запроса следуйте инструкциям в Терминале, чтобы установить необходимые зависимости.

    3. После завершения установки вы можете начать использовать opencv4nodejsв своих приложениях Node.js, потребовав его в своем коде:

      const cv = require('opencv4nodejs');

      Затем вы можете использовать cvобъект для доступа к функциям, предоставляемым OpenCV в вашем приложении Node.js.

  6. FFMPEG

    1. Вы можете установить FFmpeg, выполнив следующую команду в Терминале:

      brew install ffmpeg

      Эта команда загрузит и установит FFmpeg и его зависимости с помощью Homebrew.

    2. После завершения установки вы можете убедиться, что FFmpeg успешно установлен, выполнив следующую команду:

      ffmpeg -version

      Если FFmpeg установлен правильно, он отобразит информацию о версии.

  7. MJPEG-CONSUMER

    1. Вы можете установить MJPEG-Consumer, выполнив следующую команду в Терминале:

      npm i -g mjpeg-consumer

      Эта команда загрузит и установит MJPEG-Consumer и его зависимости с помощью Homebrew.

  8. SET-SIMULATOR-LOCATION

    1.  Вы можете установить инструмент set-simulator-location глобально, выполнив следующую команду в Терминале:

      npm install -g set-simulator-location

      Эта команда загрузит и установит инструмент глобально, что позволит вам использовать его из любого места в терминале.

    2. После завершения установки вы можете убедиться, что она set-simulator-locationбыл установлен, выполнив следующую команду:

      set-simulator-location -h

      Если инструмент установлен правильно, он отобразит справочную информацию и параметры использования.

  9. IDB AND IDB COMPANION

    1. Вы можете установить IDB, выполнив следующую команду в Терминале:

      npm install -g idb

      Эта команда загрузит и установит IDB глобально, что позволит вам использовать его из любого места в терминале.

    2. После завершения установки вы можете установить IDB Companion, который предоставляет веб-интерфейс для IDB, выполнив следующую команду в Терминале:

      npm install -g idb-companion

      Эта команда загрузит и установит IDB Companion глобально.

    3. После завершения установки вы можете запустить IDB Companion, выполнив следующую команду в Терминале:

      idb-companion

      Это запустит веб-интерфейс IDB Companion, к которому вы можете получить доступ из своего веб-браузера по адресу http://localhost:9001.

  10. APPLESIMUTILS

    1. Вы можете установить applesimutils, выполнив следующую команду в Терминале:

      brew tap wix/brew
      brew install applesimutils

      Эта команда добавит кран Wix Homebrew и установит его applesimutilsиз крана.

    2. После завершения установки вы можете убедиться, что applesimutilsустановка прошла успешно, выполнив следующую команду:

      applesimutils --help

      Если applesimutils установлен правильно, он будет отображать справочную информацию и параметры использования.

  11. IOS-DEPLOY

    1. Вы можете установить ios-deploy, выполнив следующую команду в Терминале:

      brew install ios-deploy

      Эта команда загрузит и установит ios-deploy и ее зависимости с помощью Homebrew.

    2. После завершения установки вы можете убедиться, что ios-deployустановка прошла успешно, выполнив следующую команду:

      ios-deploy --version

      Если ios-deployустановлен правильно, он отобразит информацию о версии.

  12. BUNDLETOOL.JAR

    Это инструмент командной строки, предоставленный Google для работы с пакетами приложений Android (файлы .aab). Чтобы установить и использовать BundleTool, вам необходимо выполнить следующие действия:

    1. Загрузите BundleTool.jar:

    2. Настройте Java:

      • Убедитесь, что на вашем компьютере установлен Java Development Kit (JDK). Вы можете скачать его с официального сайта Oracle или использовать OpenJDK.

    3. Откройте терминал или командную строку:

      • В Windows нажмите Win + R, введите «cmd» и нажмите Enter.

      • В macOS или Linux откройте приложение «Терминал».

    4. Перейдите в каталог, в который вы загрузили файл BundleTool.jar, используя команду «cd»:

      cd path/to/your/download/directory
    5. Запустите BundleTool с помощью команды Java:

      java -jar BundleTool.jar

      Это отобразит доступные команды и параметры, подтверждающие, что установка прошла успешно.

    6. Теперь вы можете использовать BundleTool, предоставив соответствующие команды и аргументы, необходимые для ваших конкретных задач.

  13. GST-LAUNCH-1.0 AND GST-INSPECT-1.0

    gst-launch-1.0и gst-inspect-1.0являются частью мультимедийной среды GStreamer. Это инструменты командной строки, используемые для работы с конвейерами GStreamer и проверки элементов GStreamer соответственно. Вот как установить их на различных платформах:

    1. macOS (Homebrew): если вы используете Homebrew на macOS, вы можете установить GStreamer с помощью следующей команды в терминале:

      brew install gstreamer

      Это установит GStreamer вместе с необходимыми инструментами, такими как gst-launch-1.0и gst-inspect-1.0.

    После установки вы можете использовать gst-launch-1.0для создания конвейеров GStreamer для обработки и потоковой передачи мультимедиа. Например:

    gst-launch-1.0 videotestsrc ! autovideosink

    И вы можете использовать gst-inspect-1.0для получения информации об элементах GStreamer. Например:

    gst-inspect-1.0 videotestsrc

    Это покажет вам подробную информацию об videotestsrcэлементе.

    Имейте в виду, что GStreamer — это универсальный и мощный мультимедийный фреймворк с обширной документацией и многочисленными плагинами для различных задач. Обязательно изучите официальную документацию GStreamer для получения дополнительной информации и примеров: https://gstreamer.freedesktop.org/documentation/

Это основные инструменты, которые необходимы для корректной работы с Appium, но что-то может и отличаться от моего примера, я старался охватить большинство случаев.

В конечном итоге у вас должны быть везде галочки, как на примере ниже:

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.