моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Серия автоматизированного тестирования Python+appium подходит к концу. Давайте подведем итоги в этом блоге.
Прежде всего, я хотел бы объяснить, что автоматическое тестирование приложений может не использоваться многими компаниями, но оно также требуется для большинства инженеров по автоматизированному тестированию и старшего инженера по тестированию, поэтому для того, чтобы получить лучшее лечение, нам все еще нужно потратить время на то, чтобы его освоить. Ведь ни у кого Не будет проблем с деньгами.
Далее давайте обобщим идеи автоматического тестирования пользовательского интерфейса приложения.
1. Выбор языка разработки
Языки программирования, обычно используемые для автоматического тестирования, включают: Python, Java, Javascript, Ruby, C#, PHP и т. д. Как правило, для написания автоматизированных сценариев мы выбираем язык программирования, с которым мы знакомы, но детям, у которых практически нет знаний в области программирования (или детям, которые сосредоточены на автоматизированном тестировании), рекомендуется научиться использовать Python.
По сравнению с другими языками Python имеет следующие преимущества для автоматического тестирования:
Для новичков Python имеет краткий синтаксис, легко читается и прост в освоении.
Существуют мощные сторонние библиотеки, которые делают создание сценариев более эффективным.
Платформа автоматического тестирования Pytest на Python в настоящее время является одной из самых популярных платформ тестирования.
2. Выбор среды тестирования пользовательского интерфейса
После выбора языка разработки нам нужно выбрать среду тестирования пользовательского интерфейса. В настоящее время к наиболее распространённым или широко используемым платформам автоматизации тестирования пользовательского интерфейса приложений относятся Appium, Airtest и т. д.
1,Аппиум
Открытый источник
Сервер Appium поддерживает работу в Windows, macOS и Linux.
Поддерживает несколько основных языков программирования, таких как Python, Java, Javascript, Ruby и т. д.
Поддержка автоматического тестирования Android, ios, H5 (интегрированный UiAutomator, платформа UiAutomation)
Конструирование окружения более сложное.
2,Воздушный тест
Разработано NetEase (официальный документ), поддерживает только язык Python.
Предоставляет мощную интегрированную среду разработки, объединяющую среды тестирования Airtest и Poco, которая очень удобна для новичков.
Интегрируйте airtest, платформу автоматического тестирования пользовательского интерфейса, основанную на распознавании изображений, чтобы вы могли писать автоматизированные сценарии, даже если вы не понимаете код.
Кросс-платформенный, может проводить автоматическое тестирование прикладного программного обеспечения Windows, Android и iOS.
Более дружелюбный к игровому тестированию
Airtest и Poco — это, по сути, две сторонние библиотеки для Python. Тестовая среда не такая сложная, как Appium.
3. Выберите рамку
Выберите подходящую структуру, исходя из реальной ситуации.
Вы можете отдать приоритет NetEase’s Airtest (официальному сайту Airtest) в следующих ситуациях:
Нет основы программирования
Тестирование игры
Тестовый сценарий относительно прост (Appium относительно громоздкий)
Автоматизация мини-программы Alipay (в настоящее время блоггер использует фреймворк Poco, интегрированный с Airtest, для автоматического тестирования мини-программы Alipay)
Рекомендуется выбирать Appium в следующих ситуациях:
Сценарий тестирования относительно сложен (например, требуется пакетное тестирование нескольких мобильных телефонов).
Язык тестового сценария не Python (в настоящее время Airtest поддерживает только Python).
3. Выбор среды модульного тестирования
В отличие от упомянутой выше среды тестирования пользовательского интерфейса, среда модульного тестирования используется для загрузки тестовых примеров, выполнения тестовых примеров, утверждения, вывода результатов тестирования и т. д.
Разные языки разработки имеют свои соответствующие фреймворки модульного тестирования, например JUnit, TestNG, Robot и т. д. для Java, а также unittest, pytest и т. д. для Python. Блогеры в основном используют Python для автоматического тестирования, поэтому здесь мы объясним только структуру модульного тестирования Python.
Основная среда модульного тестирования Python:
unittest, собственная среда модульного тестирования Python.
pytest, разработанный на основе unittest, прост в использовании, содержит более подробную информацию и имеет множество плагинов.
Платформа робота, платформа тестирования на основе ключевых слов на основе Python, с интерфейсом, встроенными отчетами и журналами, полными функциями, понятная и красивая
Здесь настоятельно рекомендуется использовать pytest, который является мощным и простым в использовании. Официальная документация на английском языке, пожалуйста, обратитесь к руководству пользователя Pytest.
4. Настройка тестовой среды
1. Выбор тестового компьютера
Если возможно, рекомендуется использовать компьютер Mac специально для тестирования автоматизации пользовательского интерфейса, поскольку автоматизацию пользовательского интерфейса приложения iOS можно выполнять только на компьютере Mac.
2. Проверьте выбор мобильного телефона.
Когда вы впервые начинаете отлаживать тестовые сценарии, вы можете выбрать эмулятор. Для эмуляторов Android вы можете выбрать эмулятор Gernymotion или Yeshen.
После завершения разработки всего тестового проекта рекомендуется переключиться на реальную машину для запуска автоматизированного сценария, который будет ближе к реальному сценарию использования пользователя.
3. Языковая среда разработки
Рекомендуется установить версию Python 3 или выше. Официальная версия прекратила обновление и поддержку версии Python2.
4. Создание среды автоматизации тестирования пользовательского интерфейса.
Создание Appium в среде Windows немного сложнее. Создание Appium под Mac немного сложнее. Позже я напишу об этом в блоге.
Если вы выберете платформу Airtest, посетите официальный сайт.
5. Написание сценария
1. Напишите тестовое демо
Чтобы проверить, успешно ли построена вся тестовая среда и можно ли запускать общие примеры, нам обычно нужно написать простой тестовый сценарий и выполнить его. Если он проходит успешно, это означает, что вся среда успешно построена.
2. Определите структуру каталогов
Рекомендуется использовать шаблон проектирования Page Object для разработки проектов автоматизации тестирования пользовательского интерфейса приложений.
3. Выберите отчет об испытаниях.
Разные языки разработки и разные среды модульного тестирования могут использовать разные отчеты о тестировании. В Python платформа unittest использует HTMLTestRunner или BSTestrunner для создания отчетов о тестировании. Платформа Pytest использует pytest-html для создания отчетов или настройки отчетов о тестировании с помощью allure.
После выполнения вышеуказанных шагов продолжайте добавлять тестовые примеры в тестовый проект.
6. Интеграция Дженкинса
После того, как весь проект тестирования автоматизации пользовательского интерфейса приложения написан в соответствии с описанными выше шагами и он стабильно работает в течение определенного периода времени, вы можете рассмотреть возможность интеграции Jenkins.
7. Резюме
Подводя итог, автоматизацию пользовательского интерфейса приложения можно реализовать следующими способами:
1,python + appium + unittest + HTMLTestRunner
2,python + appium + pytest + pytest-html / allure
3,python + Airtest(AirtestIDE)
4,python + Poco + pytest + pytest-html / allure
Вы можете выбрать в соответствии с реальной ситуацией.
В заключение я хотел бы поблагодарить всех, кто внимательно читает мою статью. Взаимность всегда необходима. Хотя это не очень ценная вещь, если вы умеете ею пользоваться, вы можете взять ее напрямую:
Эта информация должна стать наиболее полной и полной подготовкой для друзей [тестирования программного обеспечения]. Этот склад также сопровождал десятки тысяч инженеров-тестировщиков в самом трудном путешествии. Надеюсь, он также поможет вам!