Я пытаюсь найти рекомендации по структурированию методов тестирования пользовательского интерфейса в XCTestCase для доступа и тестирования страниц приложения, которые доступны только после входа пользователя в систему.
Чтобы я мог протестировать пользовательский интерфейс частной страницы просмотра фотографий, мой метод тестирования должен будет: 1. Войти, 2. Перейти на страницу «Список альбомов», 3. Нажмите на первый альбом в списке и перейдите к на странице «Просмотр альбома», 4. Нажмите на первую фотографию в списке и перейдите на страницу «Просмотр фотографий», 5. И, наконец, напишите утверждения для тестирования пользовательского интерфейса страницы просмотра фотографий.
Итак, чтобы прочитать целевую страницу, мой тест пользовательского интерфейса должен пройти несколько страниц. И если мне нужно написать несколько тестовых методов пользовательского интерфейса для страницы просмотра фотографий, то каждый из моих тестовых методов должен будет снова и снова проходить одни и те же страницы приложения.
Каковы наилучшие методы структурирования методов тестирования для тестирования внутренних страниц приложения?
Я должен следовать BDD, чтобы сделать это и написать базовый класс с методом:
givenThatLoginIsSuccessful()
а затем создайте новый класс Test Case, который расширяет базовый класс и имеет такие методы, как:
// Given
givenThatLoginIsSuccessful()
givenThanAlbumsListPageHasAlbums()
giveThatAlbumViewPageHasPhotos()
// When
whenThumbnailPhotoTapped()
// Then
thenLargeSizePhotoIsVisible()
thenDismissLargePhotoButtonIsEnabled()
thenDownloadLargePhotoButtonIsEnabled()
Как вы, ребята, организуете свои методы тестирования пользовательского интерфейса, которые тестируют внутренние/глубокие страницы приложения?