Эта статья была впервые опубликована на:Уокер ИИ
Автоматизированное тестирование — это процесс преобразования тестового поведения, управляемого человеком, в машинное исполнение. Обычно после того, как тест-кейс разработан и проверен, тестер выполняет тест шаг за шагом в соответствии с процедурами, описанными в тестовом примере, и получает сравнение между фактическим результатом и ожидаемым результатом. В этом процессе для экономии рабочей силы, времени или аппаратных ресурсов и повышения эффективности тестирования была введена концепция автоматизированного тестирования.
1. Предпосылки
1.1 Нечастые изменения спроса
Стабильность тестовых сценариев определяет стоимость обслуживания автоматических тестов. Если требования к программному обеспечению меняются слишком часто, тестировщикам необходимо обновлять тестовые случаи и связанные тестовые сценарии в соответствии с меняющимися требованиями, а обслуживание самих сценариев представляет собой процесс разработки кода, который необходимо модифицировать, отлаживать и, при необходимости автоматизированного теста.Фреймворка, если стоимость не меньше стоимости его использования для экономии затрат на тестирование, то автоматизированный тест является неудачным. Некоторые модули в проекте относительно стабильны, в то время как требования к некоторым модулям сильно различаются. Мы можем автоматизировать тестирование относительно стабильных модулей, в то время как ручное тестирование по-прежнему используется для более крупных изменений.
1.2 Цикл проекта достаточно длинный
Определение требований к автоматизированному тестированию, разработка сред автоматизированного тестирования, а также написание и отладка тестовых сценариев — все это занимает много времени. Если проектный цикл относительно короткий и времени на поддержку такого процесса не хватает, то автоматизированное тестирование становится шуткой.
1.3 Сценарии автоматизированного тестирования можно использовать повторно
Если набор почти идеальных автоматизированных тестовых сценариев разрабатывается с большими усилиями, но уровень повторного использования сценариев очень низок, так что понесенные затраты превышают создаваемую экономическую выгоду, автоматическое тестирование становится практикой тестировщика, а не его действительно выгодный тест. Кроме того, когда ручное тестирование не может быть завершено и требует много времени и рабочей силы, также необходимо рассмотреть вопрос о внедрении автоматизированного тестирования. Например, тестирование производительности, тестирование конфигурации, тестирование ввода больших данных и т. д.
2. Используйте случаи
Обычно подходит для случаев автоматизации тестирования программного обеспечения:
(1) регрессионное тестирование, повторный ввод данных или нажатие клавиш и другие операции тестирования приводят к ненужной трате времени и рабочей силы;
(2) понимание тестировщиком программы и проверка проектной документации обычно зависят от инструментов автоматизации тестирования;
(3) использование инструментов автоматизированного тестирования способствует созданию документов отчета об испытаниях и согласованности версий;
(4) Инструмент автоматизации может определить путь покрытия тестового примера и определить покрытие логического потока программы и потока управления набором тестовых случаев.
3. Утилиты
В настоящее время программное обеспечение для автоматизированного тестирования, подходящее для начинающих, — это Airtest IDE. AirtestIDE — это кроссплатформенный редактор тестов автоматизации пользовательского интерфейса для игр и приложений. Автоматическая запись сценария, воспроизведение одним щелчком мыши, просмотр отчетов, простой автоматизированный процесс тестирования Поддерживает платформу Airtest на основе распознавания изображений, подходящую для всех игр Android и Windows Поддерживает структуру Poco на основе поиска элементов управления пользовательского интерфейса, подходящую для приложений Unity3d, Cocos2d и Android , способный работать на Windows и MacOS.
Запустите эмулятор Android или подключите телефон к ПК. Проверьте мобильные устройства с помощью команды adb.
>adb devices
List of devices attached
emulator-5554 device
При работе в эмуляторе Android интерфейс в правой части Airtest IDE синхронизируется, что лучше, чем у многих мобильных инструментов тестирования, например, рабочий стол appium необходимо обновлять вручную, чтобы получить последний интерфейс.
Airtest IDE поддерживает запись скриптов Airtest, использование очень простое, вы даже можете ознакомиться с его API, записывая, не глядя на его API. В окне Airtest и API справа нажмите кнопку записи в правом верхнем углу, а затем нажмите сопоставленный интерфейс эмулятора Android.
Такой скрипт больше подходит для игр, потому что интерфейс игры сложно найти, а способ распознавания изображения (скриншот) действительно хороший выбор.
Далее будут представлены часто используемые функции управления:
(1) сенсорный Эта функция является функцией щелчка, вы можете установить изображение, которое вам нужно щелкнуть, количество раз, долгое время нажатия и правый щелчок.
(2) ожидание Эта функция означает ожидание, ожидание чего-либо в соответствии с определенными условиями. Здесь вы можете установить время ожидания, каждый соответствующий интервал во времени ожидания, функцию, которую можно вызвать, когда изображение не найдено, и значение, возвращаемое самой функцией.
(3) пролистывание Эта функция представляет собой функцию скольжения.Чтобы перемещаться от изображения 1 к изображению 2, нам нужно установить два изображения для скольжения. В функции смахивания есть значение продолжительности, которое определяет продолжительность скольжения.Некоторые операции скольжения имеют определенные требования к скорости скольжения, а быстрое и медленное будут иметь разные результаты. При фактическом использовании функции прокрутки вопрос о том, сколько точек интерполяции нужно установить и как быстро вы хотите проводить прокрутку, становится предметом отладки этой функции.
(4) существует Эта функция предназначена для оценки существования, определения существования изображения и возврата логического значения, функции для удобного суждения.
(5) keyevent Эта функция предназначена для нажатия элементов управления мобильным телефоном, таких как «домой», «назад» и «питание» на мобильном телефоне.
(6) текст Эта функция представляет собой функцию ввода текста, которая может вводить текст в открытое поле ввода.
(7) моментальный снимок Эта функция предназначена для создания снимков экрана.
(8) сон Эта функция предназначена для установки задержки.
(9) assert_exists утверждает, существует ли скриншот на текущей странице.Подразумевается, что если содержимое скриншота существует, пусть проверяет, какая копия генерируется в отчете.
(10) assert_not_exists утверждает, не существует ли скриншот в текущем интерфейсе.Подразумевается, что если содержимое скриншота не существует, пусть проверяет, какая копия генерируется в отчете.
(11) assert_equal утверждает, содержит ли текущая страница установленную копию, и если да, то проходит проверку.
(12) assert_not_equal утверждает, не содержит ли текущая страница установленную копию, если нет, то она будет пройдена.
PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!