Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- results.get(index).find(".st").shouldHave(Condition.text(text));
- или
- results.get(index).shouldHave(Condition.text(text));
- /*
- эффект получишь один и тот же)
- поскольку проверяешь не на точное совпадение текста, а лишь на вхождение
- что ты у results.get(index) проверишь - что элемент содержит такой-то текст
- что у results.get(index).find(".st") проверишь
- так зачем тогда уточняться до results.get(index).find(".st") ?
- если от этого никаких особенных плюсов не будет
- */
- *************************************
- public static void followNthLink(int index) {
- results.get(index).find(".r a").followLink();
- $(".downloadBox>a").shouldBe(visible);
- }
- /*
- а вот так лучше не делай)
- $(".downloadBox>a").shouldBe(visible); - это специфика новой открытой страницы
- и у других страниц - такого может и не быть)
- потому - $(".downloadBox>a").shouldBe(visible); - испортил универсальный код метода
- вообще - не стоит в методах-проверках реализовывать действия
- и в методах-действиях - проверки
- как правило - это портит универсальность
- и самое главное - скрывает тестовую логику
- как исключения - можно в методы-действия встраивать проверки -
- которые не столько проверки, сколько необходимый источник умных ожиданий
- собственно - что-то такое ты и пыталась сделать)
- тут так не стоит делать именно потому - что $(".downloadBox>a").shouldBe(visible); - не универсально
- перенеси эту строку прямо в тест-метод
- и я бы, например предпочла что-то такое $(...).shouldHave(text("What is Selenium?"));
- цель - чтоб глядя на код - было понятно - что мы ждем
- что-нибудь более наглядное - было бы лучше
- твой вариант - тоже ок)
- был еще пример - когда в clearСompleted() реализовывали проверку - что кнопка становится не видимой
- но - там у нас как раз и была цель - не загромождать тесты этой проходной проверкой
- тоже исключение)
- как исключения - и в методах-проверках могут быть действия)
- но это уже какие-то очень специфические вещи
- связанные с какой-то не самой простой логикой самого тестируемого приложения
- типа такого - чтобы что-то проверить - надо еще то-то и то-то сделать
- нормального примера - так чтоб наглядно и в двух словах - и не приведу даже )
- так что - у любого правила конечно - исключения есть)
- но в общем и целом - лучше действия и проверки держать отдельно
- */
- // если все-таки делать эту проверку, то можно ли перенести ее в метод followNthLink() или не стоит?
- // или зависит от того: важно нам какой юрл у этой страницы или то, что страница открылась?
- /*
- ну, я думаю, ты теперь знаешь ответ на свой вопрос)
- */
Advertisement
Add Comment
Please, Sign In to add comment