julia_v_iluhina

Untitled

Sep 28th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.16 KB | None | 0 0
  1. results.get(index).find(".st").shouldHave(Condition.text(text));
  2. или
  3. results.get(index).shouldHave(Condition.text(text));
  4. /*
  5.     эффект получишь один и тот же)
  6.  
  7.     поскольку проверяешь не на точное совпадение текста, а лишь на вхождение
  8.     что ты у results.get(index) проверишь - что элемент содержит такой-то текст
  9.     что у results.get(index).find(".st") проверишь
  10.  
  11.     так зачем тогда уточняться до results.get(index).find(".st") ?
  12.     если от этого никаких особенных плюсов не будет
  13. */
  14. *************************************
  15.     public static void followNthLink(int index) {
  16.         results.get(index).find(".r a").followLink();
  17.         $(".downloadBox>a").shouldBe(visible);
  18.     }
  19. /*
  20.     а вот так лучше не делай)
  21.  
  22.     $(".downloadBox>a").shouldBe(visible); - это специфика новой открытой страницы
  23.  
  24.     и у других страниц - такого может и не быть)
  25.  
  26.     потому - $(".downloadBox>a").shouldBe(visible); - испортил универсальный код метода
  27.  
  28.  
  29.     вообще - не стоит в методах-проверках реализовывать действия
  30.     и в методах-действиях - проверки
  31.  
  32.     как правило - это портит универсальность
  33.     и самое главное - скрывает тестовую логику
  34.  
  35.     как исключения - можно в методы-действия встраивать проверки -
  36.     которые не столько проверки, сколько необходимый источник умных ожиданий
  37.     собственно - что-то такое ты и пыталась сделать)
  38.     тут так не стоит делать именно потому - что $(".downloadBox>a").shouldBe(visible); - не универсально
  39.     перенеси эту строку прямо в тест-метод
  40.    
  41.     и я бы, например предпочла что-то такое $(...).shouldHave(text("What is Selenium?"));
  42.     цель - чтоб глядя на код - было понятно - что мы ждем
  43.     что-нибудь более наглядное - было бы лучше
  44.     твой вариант - тоже ок)
  45.  
  46.     был еще пример - когда в clearСompleted()  реализовывали проверку - что кнопка становится не видимой
  47.     но - там у нас как раз и была цель - не загромождать тесты этой проходной проверкой
  48.     тоже исключение)
  49.  
  50.     как исключения - и в методах-проверках могут быть действия)
  51.     но это уже какие-то очень специфические вещи
  52.     связанные с какой-то не самой простой логикой самого тестируемого приложения
  53.     типа такого - чтобы что-то проверить - надо еще то-то и то-то сделать
  54.     нормального примера - так чтоб наглядно и в двух словах - и не приведу даже )
  55.  
  56.  
  57.     так что - у любого правила конечно - исключения есть)
  58.     но в общем и целом - лучше действия и проверки держать отдельно
  59. */
  60.  
  61.         // если все-таки делать эту проверку, то можно ли перенести ее в метод followNthLink() или не стоит?
  62.         // или зависит от того: важно нам какой юрл у этой страницы или то, что страница открылась?
  63. /*
  64.     ну, я думаю, ты теперь знаешь ответ на свой вопрос)
  65. */
Advertisement
Add Comment
Please, Sign In to add comment