t.me/atinfo_chat Telegram группа по автоматизации тестирования

Appium тест мобильных браузеров : isDisplayed() true на хроме и false на сафари

Теги: #<Tag:0x00007f7486386650> #<Tag:0x00007f7486386588> #<Tag:0x00007f74863864c0> #<Tag:0x00007f74863863f8> #<Tag:0x00007f7486386330>

Привет!
Имеется десяток тестов на java написаный для тестирования веб сайта, одни и те же тесты запускаются на настоящих девайсах в хроме и сафари. Хром тесты проходят, половина тестов сафари падают так как driver.findElement().isDisplayed возвращает false.
Кто в курсе что такого в сафари я мог упустить что елементы не видны драйверу?
Спасибо!

А вы посмотрите аттрибут этого элемента в инспекторе может быть он реально displayed=false, не скажу за вэб но в нативных аппах много раз видел что у элемента который реально виден и с которым можно взаимодействовать имеет displayed = false.

Appium inspector нужна MacOS чтоб инспектировать сафари на айфоне , у меня толькл Венда (

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

2 Симпатий

Разобрался. Сафари смотрел не в тот frame.
Проблема случалась после перехода по ссылкам и назад, решение через driver.switchTo().parentFrame()

1 Симпатия