julia_v_iluhina

Untitled

Nov 13th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.18 KB | None | 0 0
  1. public class BaseTest {
  2.     {
  3.         Configuration.timeout = 20000;
  4.     }
  5. }
  6. /*
  7.     Пока - очень спорно, нужно ли выносить это в предка тест-класса
  8.     Это - несложно, касается единственного тест-класса, и не универсально
  9.     Значит - причин нету - выносить этот код в предка тест-класса (по крайней мере пока)
  10. */
  11. *********************
  12. private String subject = String.format("Test Letter: %s", Calendar.getInstance().getTime());
  13. /*
  14.     уникальный subject - нам нужен в конкретном тест-методе
  15.     и даже если в каком-то другом методе - понадобится уникальный subject - то нам понадобится уже новое значение
  16.     потому - эту переменную subject - стоит объявлять и инициилизировать внутри тест-метода, где она и используется
  17.  
  18.     нету причин выносить ее на уровень всего тест-класса
  19.  
  20.     а если хочется код сделать универсальнее
  21.         то реализуй универсальный метод getUniqueText(String prefix) - с такой же реализацией
  22.         и этот метод используй для инициализации переменной subject
  23.  
  24.         универсальный метод размести в классе-контейнере Helpers (в ветке проекта src \ main - как и все универсальное)
  25. */
  26. *********************
  27.     @Test
  28.     public void testSendAndReceiveEmail() {
  29.     /*
  30.         мы тестируем и логин, и поиск, помимо SendAndReceive
  31.         за счет названия тест-класса - Email - можно при перечислении действий - не писать
  32.  
  33.         или - воспользуйся вот таким советом
  34.         https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.2gjiy0o1o48q
  35.     */
  36.  
  37.         gmailPage.navigateToGmail();
  38.         gmailPage.login(emailAddress, password);
  39.         gmailPage.sendNewLetter(emailAddress, subject);
  40.         /*
  41.             gmailPage.send - будет настолько же понятно, но еще и полаконичнее
  42.         */
  43.         gmailPage.refresh();
  44.  
  45.         gmailPage.clickInbox();
  46.         /*
  47.             нам пока не нужно выполнять clickInbox() - мы пока и так в Inbox
  48.         */
  49.         gmailPage.assertEmailIsIn(0, subject);
  50.         /*
  51.             assertEmail - уже достаточно точно
  52.         */
  53.  
  54.         gmailPage.clickSent();
  55.         gmailPage.assertEmailIsIn(0, subject);
  56.  
  57.         gmailPage.clickInbox();
  58.         /*
  59.             а тут должно быть действие - поиск письма
  60.  
  61.             наша цель - воспользоваться строкой поиска
  62.             и затем - првоерить - что в списке писем - одно письмо и с нужным нам текстом
  63.         */
  64.         gmailPage.assertAnOnlyExist(subject);
  65.     }
  66. ********************************************
  67. public ElementsCollection emails = $$("tbody .zA");
  68.  
  69. /*
  70.     http://joxi.ru/Vrwqg81HKZK4w2
  71.     http://joxi.ru/5md7jYwtvNv8Br
  72.  
  73.     с помощью такого селектора -  и в режиме поиска, и просто при просмотре инбокса - находим больше элементов, чем у нас в списке мейлов
  74.  
  75.     нужно - чтобы селектор нам обеспечивал
  76.     http://joxi.ru/v29WjP9hG7GRNr
  77.     http://joxi.ru/Vrwqg81HKZKjw2
  78.  
  79.     уточни селектор
  80. */
  81. ************************
  82.     public void clickSent() {
  83.         $(byText("Sent Mail")).click();
  84.     }
  85. /*
  86.     И тут по title - надежнее искать
  87.  
  88.     есть кстати метод byTitle
  89.     можно его применять тоже
  90. */
  91. *****************************
  92.     public void assertAnOnlyExist(String subject) {
  93.         emails.filterBy(text(subject)).shouldHaveSize(1);
  94.     }
  95. /*
  96.     ага
  97.     ясно
  98.     имелось в виду - другое
  99.  
  100.     уже приводила эту картинку
  101.     http://joxi.ru/Vrwqg81HKZKjw2
  102.    
  103.     выполни действие = через строку поиска ищи письмо по нашему уникальному subject-у = это еще то, что мы тестируем (см текст задания)
  104.     и затем - выполни проверку = что писем в списке 1 штука и его текст - такой-то
  105.    
  106.     вспомни - как мы в todoMVC тестах проверяли что тасок - столько-то и тексты у них - такие-то
  107.     тут - не один-в один, но аналогично - можно реализовать
  108. */
Advertisement
Add Comment
Please, Sign In to add comment