В какой момент нужно логиниться в аккаунт в android приложении при написании тестов на работу в акаунте?


#1

Всем привет. Только начал изучать appium + Junit. Помогите пожалуйста решить такой вопрос: имеется android приложение, на стартовом экране поля логина. Допустим, я создал класс loginPage с методом login(String username, String pass) и советующий тестовый класс и метод loginTest. Новый класс accPage описывает экран, который появляется после того как мы залогинились, содержит методы createFolder, sendFile и я составляю для него новый тестовый класс с тестами. Но для выполнения этих действий я должен быть залогинен, а писать в своих тестах метод login вроде как не хочется, потому что для него есть отдельные тесты. Так вот вопрос: в каком месте своего класса accPageTest и как правильно нужно логиниться? Спасибо за помощь!


(Aleksey Ilyenko) #2

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

В нашем проекте это выглядит приблизительно следующим образом:

AccPage accPage = new Login().ifNeeded();

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