Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- напоминаю про задание по Gmail (первая часть курса)
- его тоже нужно сделать - чтоб двигаться дальше
- */
- *******************
- /*
- pom.xml - убери все лишнее (selenide, allure)
- подключи селениум
- */
- *****************************
- private void assertResultsCount(int count){
- /*
- молодец, грамотно воспользовалась кондишеном numberOfElementsToBe
- у нас еще есть цель - научиться писать кондишены
- так что в целях тренировки реализуй кондишен sizeOf и используй его тут
- */
- *****************************
- (new WebDriverWait(driver, 10))
- /*
- объяви переменную wait на уровне тест-класса
- и так ее инициализируй
- и дальше - сможешь писать код - wait.until(...)
- */
- ********************************
- ".srg .g"
- ".srg>.g....
- /*
- определись с вариантом селектора и его используй во всем коде
- не нужно для одного и того же применять разные селекторы
- такая строка - будет повторяться
- а значит - вынеси это в строковую переменную и ее уже используй
- */
- ************************************
- private void assertText(int index, String text){
- /*
- верно использовала кондишен, так и стоило делать
- заметь = параметр int index - предполагает нумерацию с нуля
- то, что тебе внутри метода нужна нумерация с единицы для сетектора - то уже внутренние дела метода
- снаружи - пусть будет традиционно
- почему традиционно умеровать с нуля
- кажется уже приводила тебе текст
- может быть - повторюсь
- Зачем нумеровать с нуля, если более удобочитаемо с 1 начинать?
- воно то зручно… але не очевидно
- залізе програміст якийсь в твій тест… і подумає що під 1 мається на зувазі 2гий елемент
- в принципі якщо хочеш… можеш і “з 1" залишити…
- але ти повинен розуміти що є сенс так робити тільки якщо всі в команді в тому числі і програмісти погодилися на це і сказали що ОК
- при цьому… тобі треба бути переконаним що скрізь буде нумерація з 1
- тобіш тобі треба створити наприклад врапер над іншими методами селеніума які працюють з індексами - щоб вони теж з 1 рахували :,)
- інакше буде плутанина
- по факту - простіше не плутатись і залишити рахунок з нуля
- а для индекса элемента в коллекции/массиве - применяется именно термин index
- мы используя такой термин - лишний раз подчеркнули - нумеруем с нуля
- лучше - быть понятнее для большинства
- большинство в большинстве случаев столкнулось с нумерацией с нуля)
- большинство увидело тот же термин - index
- надеюсь, я тебя убедила
- https://en.wikipedia.org/wiki/Zero-based_numbering
- http://c2.com/cgi/wiki?ZeroAndOneBasedIndexes
- http://stackoverflow.com/questions/24841172/why-is-array-indexing-in-java-start-w
- не очень удачное имя метода - assertText
- точнее будут - assertResult, assertResultText
- поправь тут и в прошлой работе по google search
- приведи ссылки на оба проекта
- */
- *******************************
- private void followLink(int index){
- /*
- а тут - уже иди от общего к частному
- на момент вызова метода - уже весь список загружен
- получи список результатов
- из списка - результат по его индексу
- из результата - его вложенный элемент = главную линку
- посмотри - чтоб код был DRY
- я про работу с селекторами
- индекс - тоже нумеруй с нуля
- */
- *******************************
- (new WebDriverWait(driver, 10)).until(textToBePresentInElementLocated(By.cssSelector("#header>h1>a"), "Browser Automation"));
- assertEquals(driver.getCurrentUrl(), "http://www.seleniumhq.org/");
- /*
- в предыдущей версии мы использовали проверку текста на странице селениума - как способ дождаться - что страница селениума загружена
- тут - у нас есть ExpectedCondition для проверки урла
- т е - стоит ограничиться второй проверкой с таким кондишеном
- т к она будет ждущей
- https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html
- */
Advertisement
Add Comment
Please, Sign In to add comment