Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BaseTest {
- {
- Configuration.timeout = 20000;
- }
- }
- /*
- Пока - очень спорно, нужно ли выносить это в предка тест-класса
- Это - несложно, касается единственного тест-класса, и не универсально
- Значит - причин нету - выносить этот код в предка тест-класса (по крайней мере пока)
- */
- *********************
- private String subject = String.format("Test Letter: %s", Calendar.getInstance().getTime());
- /*
- уникальный subject - нам нужен в конкретном тест-методе
- и даже если в каком-то другом методе - понадобится уникальный subject - то нам понадобится уже новое значение
- потому - эту переменную subject - стоит объявлять и инициилизировать внутри тест-метода, где она и используется
- нету причин выносить ее на уровень всего тест-класса
- а если хочется код сделать универсальнее
- то реализуй универсальный метод getUniqueText(String prefix) - с такой же реализацией
- и этот метод используй для инициализации переменной subject
- универсальный метод размести в классе-контейнере Helpers (в ветке проекта src \ main - как и все универсальное)
- */
- *********************
- @Test
- public void testSendAndReceiveEmail() {
- /*
- мы тестируем и логин, и поиск, помимо SendAndReceive
- за счет названия тест-класса - Email - можно при перечислении действий - не писать
- или - воспользуйся вот таким советом
- https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.2gjiy0o1o48q
- */
- gmailPage.navigateToGmail();
- gmailPage.login(emailAddress, password);
- gmailPage.sendNewLetter(emailAddress, subject);
- /*
- gmailPage.send - будет настолько же понятно, но еще и полаконичнее
- */
- gmailPage.refresh();
- gmailPage.clickInbox();
- /*
- нам пока не нужно выполнять clickInbox() - мы пока и так в Inbox
- */
- gmailPage.assertEmailIsIn(0, subject);
- /*
- assertEmail - уже достаточно точно
- */
- gmailPage.clickSent();
- gmailPage.assertEmailIsIn(0, subject);
- gmailPage.clickInbox();
- /*
- а тут должно быть действие - поиск письма
- наша цель - воспользоваться строкой поиска
- и затем - првоерить - что в списке писем - одно письмо и с нужным нам текстом
- */
- gmailPage.assertAnOnlyExist(subject);
- }
- ********************************************
- public ElementsCollection emails = $$("tbody .zA");
- /*
- http://joxi.ru/Vrwqg81HKZK4w2
- http://joxi.ru/5md7jYwtvNv8Br
- с помощью такого селектора - и в режиме поиска, и просто при просмотре инбокса - находим больше элементов, чем у нас в списке мейлов
- нужно - чтобы селектор нам обеспечивал
- http://joxi.ru/v29WjP9hG7GRNr
- http://joxi.ru/Vrwqg81HKZKjw2
- уточни селектор
- */
- ************************
- public void clickSent() {
- $(byText("Sent Mail")).click();
- }
- /*
- И тут по title - надежнее искать
- есть кстати метод byTitle
- можно его применять тоже
- */
- *****************************
- public void assertAnOnlyExist(String subject) {
- emails.filterBy(text(subject)).shouldHaveSize(1);
- }
- /*
- ага
- ясно
- имелось в виду - другое
- уже приводила эту картинку
- http://joxi.ru/Vrwqg81HKZKjw2
- выполни действие = через строку поиска ищи письмо по нашему уникальному subject-у = это еще то, что мы тестируем (см текст задания)
- и затем - выполни проверку = что писем в списке 1 штука и его текст - такой-то
- вспомни - как мы в todoMVC тестах проверяли что тасок - столько-то и тексты у них - такие-то
- тут - не один-в один, но аналогично - можно реализовать
- */
Advertisement
Add Comment
Please, Sign In to add comment