Вопросы и ответы Airtest, все, что вы хотите спросить, здесь! (выпуск 1)

контрольная работа Эксплуатация и техническое обслуживание

Эта статья взята из официального публичного аккаунта проекта: "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»:

7. Устройство не может быть подключено

Пожалуйста, обратитесь кофициальная документацияСопутствующее содержимое: документация по использованию AirtestIDE — подключение устройства —Часто задаваемые вопросы о подключении Android, а затем проверьте разделы 1 и 2 в соответствии с моделью вашего мобильного телефона.

Соответствующие названия настроек мобильных телефонов разных марок приведены только для справки. Не все модели марок имеют одинаковые названия и расположение настроек, поэтому настройки, упомянутые в руководстве, предназначены только для справки учащихся. Если вы не можете найти точно такие же настройки, пожалуйста, спросите учащихся. Внимательно посмотрите на похожие настройки.

8. Симулятор не может быть подключен

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 — запуск скриптов.

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 поддерживает использование базовых селекторов, относительных селекторов и пространственных селекторов для написания сценариев позиционирования, а также поддерживает регулярные выражения для соответствия элементам управления. Для получения подробных руководств и примеров вы можете просмотреть обучающие твиты официального публичного аккаунта:

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

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