julia_v_iluhina

Untitled

Dec 11th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.98 KB | None | 0 0
  1. /*
  2.     напоминаю про задание по Gmail (первая часть курса)
  3.     его тоже нужно сделать - чтоб двигаться дальше
  4. */
  5. *******************
  6. /*
  7.     pom.xml - убери все лишнее (selenide, allure)
  8.     подключи селениум
  9. */
  10. *****************************
  11.     private void assertResultsCount(int count){
  12. /*
  13.     молодец, грамотно воспользовалась кондишеном numberOfElementsToBe
  14.  
  15.     у нас еще есть цель - научиться писать кондишены
  16.     так что в целях тренировки реализуй кондишен sizeOf и используй его тут
  17. */
  18. *****************************
  19. (new WebDriverWait(driver, 10))
  20. /*
  21.     объяви переменную wait на уровне тест-класса
  22.      и так ее инициализируй
  23.  
  24.      и дальше - сможешь писать код - wait.until(...)
  25. */
  26. ********************************
  27. ".srg .g"
  28. ".srg>.g....
  29. /*
  30.    определись с вариантом селектора и его используй во всем коде
  31.    не нужно для одного и того же применять разные селекторы
  32.  
  33.    такая строка - будет повторяться
  34.    а значит - вынеси это в строковую переменную и ее уже используй
  35. */
  36. ************************************
  37.  private void assertText(int index, String text){
  38. /*
  39.    верно использовала кондишен, так и стоило делать
  40.    заметь = параметр int index - предполагает нумерацию с нуля
  41.  
  42.    то, что тебе внутри метода нужна нумерация с единицы для сетектора - то уже внутренние дела метода
  43.    снаружи - пусть будет традиционно
  44.  
  45.    почему традиционно умеровать с нуля
  46.    кажется уже приводила тебе текст
  47.    может быть - повторюсь
  48.        Зачем нумеровать с нуля, если более удобочитаемо с 1 начинать?
  49.  
  50.        воно то зручно… але не очевидно
  51.        залізе програміст якийсь в твій тест… і подумає що під 1 мається на зувазі 2гий елемент
  52.        в принципі якщо хочеш… можеш і “з 1" залишити…
  53.         але ти повинен розуміти що є сенс так робити тільки якщо всі в команді в тому числі і програмісти погодилися на це і сказали що ОК
  54.         при цьому… тобі треба бути переконаним що скрізь буде нумерація з 1
  55.         тобіш тобі треба створити наприклад врапер над іншими методами селеніума які працюють з індексами - щоб вони теж з 1 рахували :,)
  56.         інакше буде плутанина
  57.         по факту - простіше не плутатись і залишити рахунок з нуля
  58.  
  59.  
  60.             а для индекса элемента в коллекции/массиве - применяется именно термин  index
  61.             мы используя такой термин  - лишний раз подчеркнули - нумеруем с нуля
  62.  
  63.             лучше - быть понятнее для большинства
  64.             большинство в большинстве случаев столкнулось с нумерацией с нуля)
  65.             большинство увидело тот же термин -  index
  66.  
  67.             надеюсь, я тебя убедила
  68.             https://en.wikipedia.org/wiki/Zero-based_numbering
  69.             http://c2.com/cgi/wiki?ZeroAndOneBasedIndexes
  70.             http://stackoverflow.com/questions/24841172/why-is-array-indexing-in-java-start-w
  71.  
  72.     не очень удачное имя метода -  assertText
  73.     точнее будут - assertResult, assertResultText
  74.     поправь тут и в прошлой работе по google search
  75.     приведи ссылки на оба проекта
  76. */
  77. *******************************
  78. private void followLink(int index){
  79. /*
  80.     а тут - уже иди от общего к частному
  81.  
  82.     на момент вызова метода - уже весь список загружен
  83.  
  84.     получи список результатов
  85.     из списка - результат по его индексу
  86.     из результата - его вложенный элемент = главную линку
  87.  
  88.     посмотри - чтоб код был DRY
  89.     я про работу с селекторами
  90.  
  91.     индекс - тоже нумеруй с нуля
  92. */
  93. *******************************
  94.  (new WebDriverWait(driver, 10)).until(textToBePresentInElementLocated(By.cssSelector("#header>h1>a"), "Browser Automation"));
  95.   assertEquals(driver.getCurrentUrl(), "http://www.seleniumhq.org/");
  96. /*
  97.     в предыдущей версии мы использовали проверку текста на странице селениума - как способ дождаться - что страница селениума загружена
  98.  
  99.     тут - у нас есть ExpectedCondition для проверки урла
  100.     т е - стоит ограничиться второй проверкой с таким кондишеном
  101.     т к она будет ждущей
  102.  
  103.     https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html
  104. */
Advertisement
Add Comment
Please, Sign In to add comment