Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
TestApplicationAndroid и TestApplicationIOs, если есть общие методы, то выделяем их в родительский класс. Тесты запускаем с параметром (название платформы) и добавляем логику в setUp() — какой класс использовать для переменной myApp.Все «как сделать» скрываются и подменяются на «что сделать».
Я переодически размышлял
А теперь представьте, у меня в тесте было бы написано что-то вроде:
«залогинься на странице»
Если бы тест был написан на голых PgO то из теста читалось бы напрямую
myApp.addProductToCart("Яндекс.Станция");у нас нетипичное приложение которое пишется на заказ (т.е требования составляем не мы)
А бывает по-другому?У нас даже интерпретатор питона самописный, потому, что у него отпечаток по памяти меньше. К нему и библиотеки никакие не прикрутить — нет полной совместимости синтаксиса. И «фреймворк» вокруг него умеет в основном только найти виджет в дереве и нажать на него, все остальное нужно писать самому. Так что с одной стороны нам нужно больше абстракций, с другой стороны «при таких делах» не знаешь стоит ли заморачиваться. У меня каждый десятый багрепорт/таск не на продукт а на тест-фреймворк. Коммьюнити нет, каждый подрядчик сам за себя. Фреймворк пишут два человека у которых он предпоследним приоритетом, потому что есть более важный для заказчика проект.
Автоматизируем UI-тесты Android приложения с использование паттерна Page Object