julia_v_iluhina

Untitled

Jul 25th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.15 KB | None | 0 0
  1. http://joxi.ru/D2PDbY1ud5pN52
  2. /*
  3. Пропуск одной строки - инструмент для форматирования кода
  4. больше - уже нет)
  5. https://google.github.io/styleguide/javaguide.html#s4.6.1-vertical-whitespace
  6. */
  7. **********************
  8. /*
  9. Имена методов комментировать не буду - ниже предложу вариант с 3 пейджами
  10. там будут и по неймингу предложения
  11. */
  12. *******************************
  13.  
  14. public static void sendMail(String email, String subject)
  15. /*
  16.     By.name(...) - можно применить и для элемента - кому отправить, и для subject-а
  17. */
  18.  
  19. **************************
  20.  
  21. public static void assertResultCount(String ...subjects){
  22.  
  23. /*
  24.     Тут мы проверяем не только результаты, но и тексты
  25.     параметр subjects - корректнее назвать mailTexts
  26.  
  27.     название метода - подправить сообразно тому, что проверяем
  28.  
  29.     сама проверка - технически верна
  30.     но можно это же реализовать одной проверкой
  31.  
  32.     есть в селениде 2 похожих кондишена для коллекций - exactTexts & texts
  33.  
  34.     у обоих логика работы такая
  35.     сначала сверяется количество переданных текстов с количеством элементов
  36.     затем каждый из текстов  - сверяется с текстом соответствующего элемента
  37.     exactTexts - сверяет на полное соотвествие
  38.     texts - на вхождение
  39.  
  40.     вспомни - мы когда список тасок проверяли - нам было достаточно exactTexts
  41.     ни поочередно каждый текст мы не сверяли, ни их количество
  42.  
  43.     тут тоже так можно
  44.     с поправкой - сверяем не на полное соотвествие, а на вхождение
  45. */
  46.  
  47. ***********************
  48.  
  49. public class Helpers {
  50.  
  51.     private static LocalTime time = null;
  52.  
  53.     public static String getTestTime(){
  54.         return (time != null ? time.toString() :setTestime().toString());
  55.     }
  56.  
  57.     private static LocalTime setTestime(){
  58.         return time = LocalTime.now();
  59.     }
  60. }
  61. ...
  62. "Subject "+ Helpers.getTestTime()
  63. ...
  64. /*
  65.     Не очень поняла - зачем столько сложностей)
  66.     а кроме того - такой код - Helpers.getTestTime() - вызванный несколько раз в рамках одного запуска тестов -
  67.     выдаст одно и то же время
  68.     Сомнительная польза - особенно если вспомнить - что нам нужна была лишь уникальная строчка...
  69.    
  70.     Я так понимаю - что это ты использовал - чтобы выражение "Subject "+ Helpers.getTestTime() - выдавало одно и то же значение
  71.     вызовов этого кода - "Subject "+ Helpers.getTestTime() - у тебя несколько...
  72.  
  73.     предлагаю тебе упростить все это )
  74.  
  75.     в коде тест-метода
  76.     String subject = Helpers.getUniqueString("Subject");
  77.    
  78.     Gmail.sendMail(Credentials.email, subject);
  79.     ...
  80.     и т д - оперируем значением переменной subject
  81.  
  82.     т е в Helpers - достаточно реализовать метод getUniqueString(...)
  83.     который по переданной строке-префиксу - сгенерит уникальную строку - префикс+что-то там уникальное
  84.     (хоть бы и дата-время в милисекундах)
  85.  
  86. */
  87. ******************************
  88.  
  89.         Gmail.search("Subject "+Helpers.getTestTime());
  90.         Gmail.assertResultCount("Subject "+Helpers.getTestTime());
  91.         Gmail.assertMail(0,"Subject "+Helpers.getTestTime());
  92. /*
  93.     вот эта вторая проверка - контрольный выстрел в голову)
  94.     вспомни - как реализован assertResultCount
  95.     как думаешь - нужна вторая проверка?
  96. */
  97. *****************************
  98. /*
  99.     посмотри на такой вариант использования нескольких пейджей
  100.     выбери те идеи, что понравились
  101.     обрати внимание на имена методов и пейджей
  102.     поскольку указываем имя класса педжа-модуля - именуем методы с учетом этого - лаконичнее
  103.    
  104.         Gmail.visit();
  105.         Gmail.login(TestData.email, TestData.password);
  106.  
  107.         Mails.send(TestData.email, subject);
  108.  
  109.         Menu.openInbox();
  110.         Mails.assertMail(0, subject);
  111.  
  112.         Menu.openSent();
  113.         Mails.assertMail(0, subject);
  114.  
  115.         Mails.searchBySubject(subject);
  116.         Mails.assertMails(subject);
  117.    
  118. */
Add Comment
Please, Sign In to add comment