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