Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://joxi.ru/D2PDbY1ud5pN52
- /*
- Пропуск одной строки - инструмент для форматирования кода
- больше - уже нет)
- https://google.github.io/styleguide/javaguide.html#s4.6.1-vertical-whitespace
- */
- **********************
- /*
- Имена методов комментировать не буду - ниже предложу вариант с 3 пейджами
- там будут и по неймингу предложения
- */
- *******************************
- public static void sendMail(String email, String subject)
- /*
- By.name(...) - можно применить и для элемента - кому отправить, и для subject-а
- */
- **************************
- public static void assertResultCount(String ...subjects){
- /*
- Тут мы проверяем не только результаты, но и тексты
- параметр subjects - корректнее назвать mailTexts
- название метода - подправить сообразно тому, что проверяем
- сама проверка - технически верна
- но можно это же реализовать одной проверкой
- есть в селениде 2 похожих кондишена для коллекций - exactTexts & texts
- у обоих логика работы такая
- сначала сверяется количество переданных текстов с количеством элементов
- затем каждый из текстов - сверяется с текстом соответствующего элемента
- exactTexts - сверяет на полное соотвествие
- texts - на вхождение
- вспомни - мы когда список тасок проверяли - нам было достаточно exactTexts
- ни поочередно каждый текст мы не сверяли, ни их количество
- тут тоже так можно
- с поправкой - сверяем не на полное соотвествие, а на вхождение
- */
- ***********************
- public class Helpers {
- private static LocalTime time = null;
- public static String getTestTime(){
- return (time != null ? time.toString() :setTestime().toString());
- }
- private static LocalTime setTestime(){
- return time = LocalTime.now();
- }
- }
- ...
- "Subject "+ Helpers.getTestTime()
- ...
- /*
- Не очень поняла - зачем столько сложностей)
- а кроме того - такой код - Helpers.getTestTime() - вызванный несколько раз в рамках одного запуска тестов -
- выдаст одно и то же время
- Сомнительная польза - особенно если вспомнить - что нам нужна была лишь уникальная строчка...
- Я так понимаю - что это ты использовал - чтобы выражение "Subject "+ Helpers.getTestTime() - выдавало одно и то же значение
- вызовов этого кода - "Subject "+ Helpers.getTestTime() - у тебя несколько...
- предлагаю тебе упростить все это )
- в коде тест-метода
- String subject = Helpers.getUniqueString("Subject");
- Gmail.sendMail(Credentials.email, subject);
- ...
- и т д - оперируем значением переменной subject
- т е в Helpers - достаточно реализовать метод getUniqueString(...)
- который по переданной строке-префиксу - сгенерит уникальную строку - префикс+что-то там уникальное
- (хоть бы и дата-время в милисекундах)
- */
- ******************************
- Gmail.search("Subject "+Helpers.getTestTime());
- Gmail.assertResultCount("Subject "+Helpers.getTestTime());
- Gmail.assertMail(0,"Subject "+Helpers.getTestTime());
- /*
- вот эта вторая проверка - контрольный выстрел в голову)
- вспомни - как реализован assertResultCount
- как думаешь - нужна вторая проверка?
- */
- *****************************
- /*
- посмотри на такой вариант использования нескольких пейджей
- выбери те идеи, что понравились
- обрати внимание на имена методов и пейджей
- поскольку указываем имя класса педжа-модуля - именуем методы с учетом этого - лаконичнее
- Gmail.visit();
- Gmail.login(TestData.email, TestData.password);
- Mails.send(TestData.email, subject);
- Menu.openInbox();
- Mails.assertMail(0, subject);
- Menu.openSent();
- Mails.assertMail(0, subject);
- Mails.searchBySubject(subject);
- Mails.assertMails(subject);
- */
Add Comment
Please, Sign In to add comment