Эта статья взята из официального публичного аккаунта проекта: "AirtestProject"
Авторское право: Разрешить воспроизведение, перепечатку, но с сохранением исходной ссылки; не в коммерческих или незаконных целях.
предисловие
В этом выпуске мы разобрали группу вопросов и ответов для студентов,26 самых частых вопросов, которые задают студенты, мы продолжим организовывать более часто задаваемые вопросы, чтобы помочь вам избежать ям~
1. Как ввести текст?
① использование аэротестаtext()интерфейс:
touch(输入框)
text("文本")
② Использование pocoset_text()интерфейс:
poco("输入框").click()
poco("输入框").set_text("文本")
Кроме того, сценарии airtest и poco можно смешивать, поэтому, когда поле ввода не поддерживаетtext()Когда интерфейс вводится, его можно заменить на pocoset_text()Интерфейс точно так же можно заменить и на airtest, когда poco input не поддерживается.text()вход интерфейса.
2.minicap serve setup time out
Неудачная инициализация экрана, которая распространена в высокопроизводительных устройствах или тренажерах или симуляторах и т. Д.; Сначала проверьте, будет ли текущая IDE последняя версия, если нет, пожалуйста, обновите IDE к последней версии; затем попробуйте снять флажок Перед подключением устройстваuse javacap, а затем подключите устройство.
3.minitouch serve setup timeout
Нажмите на ошибку инициализации, которая часто встречается на устройствах с Android 10 или выше.Решение состоит в том, чтобы проверить, является ли версия airtest текущей среды последней версией (среда IDE обновлена до последней версии, и используется локальная среда python). чтобы обновить версию airtest локальной среды до последней версии).
4.Javacap server setup timeout
устройство не подходит дляjavacap, прежде чем IDE подключит устройствоне ставить галочкуuse javacapНе приводить строку скрипта подключения устройства?cap_method=JAVACAP. Наконец, убедитесь, что вы используете последнюю версию airtest.
5. Как отображать координаты
Верхняя строка меню, Параметры - Настройки,Проверяйте только отображение координат в реальном времени, отображаются абсолютные координаты;Проверяйте как координаты в реальном времени, так и относительные координатыОтображаются относительные координаты. (Airtest использует абсолютную систему координат, POCO использует относительную систему координат)
# 点击坐标为[100,100]的位置
touch([100,100])
# 点击屏幕中心[0.5,0.5]
poco.click([0.5,0.5])
6. Неточное распознавание изображений
Пожалуйста, обратитесь к учебному твиту официального публичного аккаунта «AirtestProject»:
- Понимать принципы и алгоритмы распознавания изображений:3 минуты, чтобы научить вас правильно выбирать алгоритм распознавания изображений
- Улучшить совместимость распознавания изображений①:Я написал 10 000 скриншотов из опыта скриншотов, суммированного скриптом скриншотов Airtest, спешите и соберите его!
- Улучшить совместимость распознавания изображений ②:Показатель успеха распознавания скриншотов слишком низкий, как исправить
7. Устройство не может быть подключено
Пожалуйста, обратитесь кофициальная документацияСопутствующее содержимое: документация по использованию AirtestIDE — подключение устройства —Часто задаваемые вопросы о подключении Android, а затем проверьте разделы 1 и 2 в соответствии с моделью вашего мобильного телефона.
Соответствующие названия настроек мобильных телефонов разных марок приведены только для справки. Не все модели марок имеют одинаковые названия и расположение настроек, поэтому настройки, упомянутые в руководстве, предназначены только для справки учащихся. Если вы не можете найти точно такие же настройки, пожалуйста, спросите учащихся. Внимательно посмотрите на похожие настройки.
8. Симулятор не может быть подключен
- 1) Проверьте, установлен ли метод ввода Yosemite, если не установлен вручную
- 2) После подключения экран черный или экран размыт и т. д., потяните вниз и проверьте перед подключением
use javacapвосстановить соединение - 3) Для получения более подробной информации и ответов на вопросы о подключении симулятора, пожалуйста, обратитесь к статье официальной учетной записи:Протестировали 5 наиболее распространенных симуляторов и обнаружили, что лучшим выбором для автоматизации Airtest оказался...
9. Ошибка позиционирования Poco не может быть найдена
-
1) Иногда сценарий позиционирования poco, автоматически сгенерированный IDE, будет очень длинным, а уровень очень глубоким, и элемент управления может быть не найден во время воспроизведения; в настоящее время учащимся не рекомендуется напрямую использовать автоматически сгенерированный сценарий позиционирования. . , и напишите более упорядоченный скрипт позиционирования. Для позиционирования скрипта рекомендуется использовать обычное сопоставление.
-
2) Если сценарий позиционирования написан самими учащимися, проверьте соответствующие атрибуты или иерархические отношения, чтобы убедиться, что ошибка сценария не приводит к тому, что элемент не может быть найден.
-
3) Если сценарий отладки выбран отдельно, то элемент управления можно найти, но найти элемент управления при реальном запуске сценария сложно, рекомендуется добавить достаточно перед сценарием позиционирования.
sleep(), убедитесь, что скачок экрана стабилен, а затем ищите элементы управления.
10. нет модуля с именем «airtest», «poco», «airtest-selenium» и т. д., модуль не может быть найден
В используемой в настоящее время среде Python установите недостающие соответствующие модули:
pip install airtest
pip install pocoui #(不能安装poco,如安装了请卸载pip uninstall poco)
pip install airtest-selenium
11. Поко не может получить управление, поддержка Поко
В настоящее время только собственные приложения могут напрямую использовать poco (нет необходимости в доступе к pocoSDK), неродные приложения, такие как различные игровые приложения, апплеты H5, смешанные приложения для разработки и т. support После доступа к pocoSDK соответствующего движка можно получить управляющую информацию.
12. Вспомогательное окно не закрашивает дерево пользовательского интерфейса.
- 1) За исключением нативных приложений, другие движки должны быть подключены к SDK для просмотра дерева пользовательского интерфейса;
- 2) Проверьте, были ли автоматически установлены на телефоне 2 apk, связанных с инициализацией poco (
pocoservice-debug.apk,pocoservice-debug-androidTest.apk) Не установлен вручную установлен; - 3) Установить метод ввода
Yosemiteи установить как метод ввода по умолчанию - Мобильные телефоны некоторых производителей требуют дополнительных настроек, см.официальная документация: Документация AirtestIDE -- Подключение устройства -- Вопросы и ответы по подключению Android.
13.Поко Обновление времени
Время обновления дерева пользовательского интерфейса по умолчанию составляет 2 секунды, вы можете не забыть сохранить настройки после настройки - Настройка - Poco, настройки установлены.
14.invalid syntax
Типичные синтаксические ошибки Python, распространенные в сценариях без разрывов строк, ошибок отступов, отсутствующих краев"или(Ждать.
15. На Mac появляется много значков IDE.
Попробуйте снять галочку с настроек автодополнения в Options - Settings в строке меню в верхней части IDE.
16.record_pos, какое разрешение выражено
Templateпараметры в классе,record_posВычислите процентное значение смещения средней точки, соответствующее координате относительно разрешения, и сначала сопоставьте соседнее изображение;resolutionРазрешение телефона при записи скриншота.
Template(r"tpl1611559272215.png", record_pos=(-0.106, -0.035), resolution=(1080, 1920))
Если учащиеся используют собственные скриншоты, оставьте поле пустым.record_posПараметры не будут иметь большого влияния на эффект распознавания, если вы хотите рассчитать, вы можете обратиться к следующему исходному коду:
17. Как нажать поиск на программной клавиатуре? Входить после входа?
Нажмите на программную клавиатуруsearchКнопка, затем:
text("文本",enter=False,search=True)
Аналогично, если нужно ввести и нажать Enter, тоtext("文本",enter=True), возврат каретки не требуется,text("文本",enter=False).
18. Пакетный запуск? Многозадачность? Работа с несколькими машинами?
В настоящее время имеется в официальных документахВзаимодействие нескольких машиниМногомашинная работа с bat-скриптомВсе примеры находятся в главе документации по использованию AirtestIDE — запуск скриптов.
- Практический случай совместной работы нескольких машин:«Совместная работа нескольких машин» — пример общих друзей WeChat.
- Практический случай пакетного выполнения с помощью bat-скрипта:Используйте bat-файл для «массового запуска» сценария Airtest.
19. Определить наличие элементов/скриншотов
- Airtest, чтобы определить, существует ли цель скриншота на текущем экране:
exists(截图) - poco, чтобы определить, существует ли элемент:
poco("xxx").exists()
20. Дождитесь появления элемента/скриншота
- Для airtest дождитесь появления целевого скриншота на текущем экране:
wait(截图) - poco, дождитесь появления элемента управления:
poco("xxx").wait_for_appearance()
21. утверждать утверждение
- Утвердить, существует ли цель скриншота на текущем экране:
assert_exists(截图) - Утверждают, существует ли элемент poco:
assert_equal(poco(xxx).exists(),"True","xxx控件存在")
22. Как продолжить выполнение после сообщения об ошибке
использоватьtry-exceptПерехватите ошибку и дайте программе продолжить работу.
23. Не могу ввести пароль? Интерфейс пароля черный экран?
Страница входа в систему с паролем приложения или снимки экрана, как правило, не предназначены для записи экрана, студенты могут проверить, установлено ли внутри ваше тестовое оборудование, нет клавиатуры безопасности, предотвращающей злонамеренную запись экрана захвата экрана, например настройку, выключите линию.
24. Как вызывать другие скрипты?
предоставлено авиатестомusingИнтерфейсы могут использоваться для вызова других.airсценарий. Подробные методы и случаи использования вы можете посмотреть в обучающих твитах официальной публичной учетной записи:Способ, который поможет вам добавить «подписи» к основному скрипту для запуска.
ИспользуемыйusingПосле звонка обнаруживается, что программа так и не может найти скрипт, рекомендуется проверитьusingНеверный ли путь скрипта в интерфейсе, а так же можно попробовать добавить импортируемый путь скрипта в начале скрипта вsys.pathсередина:
#将test1.air的路径添加到sys.path里面
sys.path.append(r"D:\test\user\project\test1.air")
25. Как написать скрипт позиционирования poco?
Poco поддерживает использование базовых селекторов, относительных селекторов и пространственных селекторов для написания сценариев позиционирования, а также поддерживает регулярные выражения для соответствия элементам управления. Для получения подробных руководств и примеров вы можете просмотреть обучающие твиты официального публичного аккаунта:
- Элементарное позиционирование POCO? Взгляните на эти 3 селектора, настоящие серии ароматов!
- С помощью контроля poco с сопоставлением регулярных выражений мы научились убивать различные средства выбора таргетинга.
26. Частичные скриншоты и локальный поиск изображений
Частичный скриншот:
screen = G.DEVICE.snapshot()
# 局部截图
local = aircv.crop_image(screen,(0,160,1067,551))
Локальный поиск изображений:
screen = G.DEVICE.snapshot()
# 局部截图
local_screen = aircv.crop_image(screen,(0,949,1067,1500))
# 将我们的目标截图设置为一个Template对象
tempalte = Template(r"png_code/设置.png")
# 在局部截图里面查找指定的图片对象
pos = tempalte.match_in(local_screen)
Для получения подробных руководств и примеров вы можете просмотреть обучающие твиты официального публичного аккаунта:Для вас реализовано несколько наиболее часто встречающихся требований при использовании Airtest..
Официальный сайт AirTest:airtest.netease.com/
Официальный сайт учебника Airtest:airtest.doc.io.netease.com/
Создание корпоративных частных облачных сервисов:airlab.163.com/b2b
Официальная группа вопросов и ответов: 654700783
Да, так серьезно все видеть здесь здесь, в левой момент, чтобы помочь похвалы и статьи о пункте сбора, чтобы дать мне поддержку, серый часто поблагодарить ~