Size: a a a

QA — Автоматизация

2020 April 03

EB

Evgenii B in QA — Автоматизация
Evgenii B
#ios #xcuitest #swift #testrail #integration

В задаче интеграции отчетов тестов возник вопрос, который не так просто гуглится: в pytest есть скоуп сессии, когда фикстура в рамках подготовки теста может выполнить что-то один раз. В такой скоуп очень удобно поместить интеграцию с Testrail, например, и создать test execution через Testrail API.

НО,
Apple в XCUITest session обьект решил не завозить (или я не нашел в сорсах). Думаю пользоваться сетапом для методов, с проверкой, была ли инициализированна глобальная переменная test_execution_id, и если была то создать прогон. Это решение выглядит несколько костыльным, потому что задача на сессию выполняется один раз в первом сетапе тест-метода, а все последующие сетапы тест методов будут каждый раз проверять состояние инициализации переменной. Может быть натолкнете на более кошерные решения?
#solution

Решение которое решил не делать, но которое идологически правильное:

Использовать протокол XCTest observation.

Решил не делать, потому что пришлось бы много кода перетаскивать из существующего сабкласса XCTestCase в Observer.
И логика teardown / setup была бы размазана на методы которые используются в XCTest и на Обзервер.

Что я сделал 👽:

Struct с парой полей, которые глобально заменили мне сессию, а сам код взаимодействия с shared state положил в test case setUp. Инициализириуется один раз, а дальше всегда скипается, как и хотелось.

Изначально этот подход казался плохим, но после изучения всего паршивого дизайна эпл фреймворков понял, что это будет наименьшим из зол
источник

IE

Ivan Efimov in QA — Автоматизация
Evgenii B
#solution

Решение которое решил не делать, но которое идологически правильное:

Использовать протокол XCTest observation.

Решил не делать, потому что пришлось бы много кода перетаскивать из существующего сабкласса XCTestCase в Observer.
И логика teardown / setup была бы размазана на методы которые используются в XCTest и на Обзервер.

Что я сделал 👽:

Struct с парой полей, которые глобально заменили мне сессию, а сам код взаимодействия с shared state положил в test case setUp. Инициализириуется один раз, а дальше всегда скипается, как и хотелось.

Изначально этот подход казался плохим, но после изучения всего паршивого дизайна эпл фреймворков понял, что это будет наименьшим из зол
👍
источник

MP

Mikhail Popov in QA — Автоматизация
Подскажите плиз что почитать / посмотреть по автоматизации api  тестов. То что попадалось даёт начальный уровень
источник

V

Vlad in QA — Автоматизация
@rpwheeler @sniiick что самое интересное данная ошибка происходит только с PUT методом. С POST все четко.
Буду пушить девов
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Mikhail Popov
Подскажите плиз что почитать / посмотреть по автоматизации api  тестов. То что попадалось даёт начальный уровень
источник

MP

Mikhail Popov in QA — Автоматизация
спасибо
источник

СС

Сказочный Сникерс in QA — Автоматизация
Vlad
@rpwheeler @sniiick что самое интересное данная ошибка происходит только с PUT методом. С POST все четко.
Буду пушить девов
Положи. Data в json параметр
источник

СС

Сказочный Сникерс in QA — Автоматизация
requests.put(url, json=my_dict)
источник

I

IceCream time 🍧🍧🍧 in QA — Автоматизация
Подскажите, а если нужно тестировать и мобильную и desktop верстку - как быть с pageObjet?  для двух версий одной страницы 2 класса делать или в одном классе доп параметр ввести?
источник

MA

Murat Aimedov in QA — Автоматизация
Как удобно
источник

V

Vlad in QA — Автоматизация
Сказочный Сникерс
requests.put(url, json=my_dict)
спасибо! сработало!
источник

СС

Сказочный Сникерс in QA — Автоматизация
Vlad
спасибо! сработало!
Не за что) больше читай исходники
источник

AH

Alex Heal in QA — Автоматизация
Добрый день, после wipe data на эмуляторе андройда, через аппиум открываю гугл почту, но из-за wipe data перед запускам приложения вылазит гугловский алерт, и аппиум падает т.к. не может открыть приложение. кто нибудь обходил такое?
источник

А

Алексей in QA — Автоматизация
Скиньте пожалуйста книгу : Тестирование dot.com или пособие по жесткому обращению с багами, автор Роман Савин . В любых форматах кроме pdf. Искал в ссылках qa juniors, не нашел(
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Алексей
Скиньте пожалуйста книгу : Тестирование dot.com или пособие по жесткому обращению с багами, автор Роман Савин . В любых форматах кроме pdf. Искал в ссылках qa juniors, не нашел(
1) Офтопик
2) Скачайте Calibre и переведите сами во что хочется.
3) А ещё лучше взять книгу Куликова.
источник

MP

Max Petrov in QA — Автоматизация
Alex Heal
Добрый день, после wipe data на эмуляторе андройда, через аппиум открываю гугл почту, но из-за wipe data перед запускам приложения вылазит гугловский алерт, и аппиум падает т.к. не может открыть приложение. кто нибудь обходил такое?
а в чеём проблема стопорнуться и узнать accept локатор? Аппиум вполне с этим справляется
источник

AH

Alex Heal in QA — Автоматизация
Max Petrov
а в чеём проблема стопорнуться и узнать accept локатор? Аппиум вполне с этим справляется
падает на инициализации драйвера т.к. нужную активити запускает из-за алерта.
Решил с помощью autoDismissAlerts
источник

S

Sky in QA — Автоматизация
Привет, можно ли как-то сделать, чтобы селенид сам качал edge webdriver и его не нужно было сеттать в systemProperty? Так как с хромом
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Sky
Привет, можно ли как-то сделать, чтобы селенид сам качал edge webdriver и его не нужно было сеттать в systemProperty? Так как с хромом
Говорят, можно WebDriverManager попробовать.

https://github.com/bonigarcia/webdrivermanager
источник

S

Sky in QA — Автоматизация
Configuration.driverManagerEnabled стоит true
источник