Search
Write a publication
Pull to refresh

Comments 17

Примите как данность — тестировать визуальную составляющую придется на костылях

Отсутствия адекватного инструмента, это прям сильно тормозящий фактор :/

Неужели вендоры Android и iOS не могут дать нормальной тулзы?

Они хотя бы делают что-то в этом направлении? :D

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

Однако экосистема мобильной разработки активно заполняет этот пробел через AI-платформы, облачные сервисы и кастомные решения, по аналогии с нашим, представленным в статье.

Проекты вроде Appium, которые поддерживается сообществом, постепенно добавляют функции для работы с графикой, но они всё ещё требуют доработки и имеют множество ограничений т.к. визуальные требования сильно варьируются между приложениями. Универсальный инструмент потребовал бы гибких настроек сравнения (например, допустимых отклонений в пикселях, исключение областей при сравнении и т.д.), что в целом сложно реализовать.

Со временем может что-то и появится универсальное и кросс-платформенное, но на текущий момент проще развивать свое и интегрироваться с AI в каких-то моментах чтоб снизить процент ручной работы

Appium этого просто не умеет, мир нативного

Уточнение - не Аппиум, а тотже XCUItest к примеру или UIAutomator2.

В iOS еще NSPredicate сильный локатор. Можете добавить как уточнение (на скрине он у вас кстати виднеется).

Про xPath можно добавить, что лучше забыть о нем. Особенно в iOS из-за сильного замедления при поиске элементов.

Flutter сейчас все больше и больше используют. Отдельная тема в мобильном направлении. Для Аппиума есть плагинчик для него.

Наконец можно упомянуть Espresso фраймворк для Андороида. Крайне мощный но бывает капризный в настройках. Тоже есть в Аппиуме поддержка.

Добрый день.
Спасибо за комментарий, правда есть неточности, исправлю.

Про xPath спорно, потому-что при условии наличия WebView забыть пока не получается, да и к сожалению, в нативе не всегда есть возможность оперативно разметку получить, поэтому в моменты безисходности, все равно случается его использование. =)

Тут плюс наверное в наличии осей. Если в ClassChain еще как-то можно интерпретировать, то UIAutomator2 c его .fromParrent() уже не на столько гибок.

Flutter, Espresso - да.
Можно отдельно ознакомиться, у нас в частности тоже ведутся работы по интеграции. Статья писалась на основании исторически сложившихся технологий, поэтому только то, что полноценно используется.

В качестве сниффера трафика порекомендую Proxyman, из личного опыта - он на порядок удобнее и "стабильнее" работает выше перечисленных

И ещё стоит помнить о том, что в мобильном тестирование процесс доставки приложение к конечному пользователю занимает намного больше времени, из-за необходимости аппрува со стороны сторов. Поэтому возрастает цена ошибки.

Несомненно, так и сторов сейчас прибавилось в кол-ве, не только Google и Apple, а скорость обработки обновлений везде разная.

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

Можно даже выделить это, как еще одно отличие с веб 🙃

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

Это да, такие вещи присутствуют.
Я очень удивлюсь, если кто-то в целом не подразумевает такое в разработке, ведь бывают критичные обновления не сопоставимые со старыми версиями.

Я почему не добавлял информацию про подобные вещи?
Статья больше про тестирование в целом, как будто такие нюансы уже больше к разработке относятся или к углубленному пониманию жизненного цикла, что придет само в моментах обучения и работы как таковой.

Стоит ли это обсуждать конкретно в контексте данной статьи, как будто нет, но в общем и целом, согласен, что знание о такой возможности должно присутствовать =)

А ещё в мобилке (именно андроид) есть отдельная боль в виде китайских прошивок. Столько косяков выявляется именно на китайских телефонах... В такие моменты жаль, что не как у айфонов - пересели все на пиксель и от кучки багов избавились)

У меня есть личное устройство poco x3 nfc и, мне кажется, что когда разработчики в очередной раз видят замечание тестирования с заголовком "На устройстве Poco x3 nfc..." , они хотят меня прибить

на этой конкретной модели - не такая большая. всё-таки, многие если и пользуются поко, то более новыми моделями
можно было бы и не уделять такое внимание этому устройству, но статистика говорит, что пользователи с устройствами поко тоже имеются

Huawei, Honor - тоже проблем хватает самых разных, начиная от ADB взаимодействия заканчивая всевозможными отвалами в самых неожиданных местах =)

Добрый день, я действительно выбирал между "Простым" и "Средним" уровнем сложности, смотрел доку хабра, по этой части, как по мне оно где-то между, поэтому остановился на среднем.

Приводятся аналогии и какие-то вещи в сравнение с веб-тестированием, кажется что без понимания процессов в целом, общее понимание статьи может пострадать.

Sign up to leave a comment.