Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void assertLoggedIn(){
- $(byText("COMPOSE")).shouldBe(visible);
- }
- /*
- тебе такой метод не понадобится
- далее по коду - идет нажатие на кнопку "COMPOSE"
- а значит - видимость кнопки будет проверена к этот момент
- очень может быть - тебе не хватало таймаута - и поэтому без такой проверки не проходил тест
- обрати внимание на условие задания - там рекомендуемый таймаут указан
- мне с моим аккаунтом подходит таймаут в 20 секунд - gmail не быстрый
- */
- *******************************
- $(By.xpath(".//textarea[contains(@aria-label, 'To')]"))
- /*
- xpath - не понадобится
- посмотри внимательно на атрибуты этого элемента и подусай как обойтись без xpath
- */
- *******************************
- $(By.xpath("(.//*[@aria-label='Message Body'])[2]")).shouldBe(visible).sendKeys(message);
- /*
- само сообщение - не обязательно было заполнять
- если оставишь - постарайся обойтись без xpath
- я бы убрала - т к это мы в итоге - проверять не будем
- именно из этих соображений - это лишнее действие
- */
- *****************************
- public static void assertMailExist(String subject){
- /*
- проверять мы список мейлов будем несколько раз
- письмо есть во входящих
- письмо есть в отправленых
- в результатах поиска - одно письмо и это наше письмо
- можно считать - что мы полностью контролируем поток писем для этого аккаунта
- первые 2 проверки = текст самого верхнего письма из списка писем содержит ...
- третья проверка = полная аналогия проверок списка тасок в todoMVC
- (правда, кондишен пригодится менее строгий, но с похожей функциональностью)
- таким образом - наши проверки - оперируют списком писем
- в пейдже создай переменную для списка писем, найи для коллекции подходящий селектор
- причем - нужно - чтобы селектор нам обеспечивал
- http://joxi.ru/v29WjP9hG7GRNr
- http://joxi.ru/Vrwqg81HKZKjw2
- т е - для списка мейлов - во всех режимах - inbox / sent / search - такой селектор подходит =
- находит верное количество элементов и элемент = все письмо, а не только его subject
- */
- ************************************************************
- private String generateSubject()
- /*
- Питання! Чи потрібно після виконнання тесту видаляти надіслане повідомлення?
- Не змогла вирішити як краще зробити.
- */
- /*
- Хорошее решение в данном случае - оперировать уникальным Subject-ом
- такой метод, генерирующий уникальные строки - мог бы и в других местах пригодиться
- как тебе такой вариант
- метод String generateUniqueString(String prefix)
- с очень похожей реализацией как у тебя
- и вызывать его - String subject = generateUniqueString("subject")
- цель префикса - чтобы сама уникальная строка была наглядна - в отчете легче читалась, к примеру
- такой метод generateUniqueString - универсальный
- его стоит разместить в классе-контейнере статических вспомогательных методов Helpers
- по твоему вопросу
- поскольку уникальный subject - однозначно идентифицирует письмо - то удалять письмо не нужно
- а в жизни - нужно взвешивать - какой подход даст выигрыш -
- либо генерация уникальных данных на каждый запуск теста
- либо обеспечение тестовой ситуации - что на начало теста всегда нету такого-то письма / пустой ящик / ....
- от многого зависит решение)
- мы - будем просто оперировать уникальным subject-ом
- безо всяких удалений)
- но - вопрос - хороший)
- поскольку уникальный subject нужен лишь в нашем тест-методе
- то и переменную autoGeneratedSubject - можно объявить внутри тест-метода
- ну и назвать можно проще = subject
- поскольку видно - что мы его сенерили, причем уникальным - тут уточняться излишне
- */
- ****************************************
- @Test
- public void testGmailSendAndSearchTask(){
- /*
- про Gmail - написали на уровне имени тест-класса и хватит
- мы тут тестируем - login, send, receive, searсh
- можно перечислить все
- а можно поступить как и раньше мы для е2е тестов делали (см фак - по неймингу)
- */
- ***********************************
- visit("inbox");
- visit("sent");
- /*
- переходы в папки inbox и sent - реалищуй не через открытие урла
- а через работу на UI - как это обычно пользователь и делает
- после отправки письма мы и так в inbox
- перед проверкой хорошо бы принудительно получить почту
- почта обновляется согласно настройке аккаунта
- не факт - что таймаута хватит - чтобы отправленное нами письмо отразилось в Inbox
- перед проверкой - что письмо пришло
- хорошо выполнить действие - принудительно получить почту = обновить -
- нажать на кнопку - http://joxi.ru/V2VBQLqf05vL92
- */
- ********************************
- /*
- и еще кусочек не реализован - search the arrived mail by topic and ensure only 1 is present in search results
- т к ресь про arrived mail
- то нужно вернуться в inbox и затем с помощью строки поиска - выполнить поиск
- и выполнить проверку
- про проверку - выше писала
- */
Advertisement
Add Comment
Please, Sign In to add comment