julia_v_iluhina

Untitled

Jan 12th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.58 KB | None | 0 0
  1. Немного запутался с тем как нужно реализовать методы, насколько я понял из описания:
  2. 1. Нам нужно реализовать дополнительные сложные методы
  3. 2. В этих методах мы будем использовать новые кастомные кондишны
  4. 3. Новые методы нужно размещать в TodoMVCPage?
  5. 4. И с методами если честно есть сложности...
  6.  
  7. /*
  8.     для начала - сделай рабочим предыдущее задание
  9.     там есть немного ошибок, которые не позволяют использовать решение в принципе
  10.     но они легко исправимы - и я расписала как
  11.  
  12.     убедись - что прошлое задание работает
  13.     отдай его на ревью и начинай работать с этим заданием
  14.  
  15.     во-первых
  16.     перенеси все наработки из предыдущего задания
  17.     ConciseAPI с его полезными методами
  18.     собственно - весь core
  19.     BaseTest с созданием вебдрайвера и его закрытием
  20.  
  21.     в пейдже - применяем наработки
  22.     используем метод $
  23.     для списка тасок - используем переменную типа By
  24.  
  25.     какие проверки списка тасок у нас были
  26.         exactTexts
  27.         empty
  28.     exactTexts - у тебя уже есть textsOf
  29.         по аналогии разработай новый кондишен  exactTextsOf
  30.         разница - только в том как сравнивать строки
  31.         теперь будешь ставнивать на equals, а не contains
  32.         а все остальное - один в один
  33.     empty - фактически, проверка размера списка, что он равен нулю
  34.         такой кондишен у нас тоже есть
  35.  
  36.     для active & completed фильтров - мы дополнительно перед проверками фильтровали таски по visible
  37.         в этой версии - на базе уже существующих exactTextsOf и sizeOf
  38.         разработай exactTextsOfVisible и sizeOfVisible
  39.         разница только в том
  40.         что в таких кондишенах
  41.         после получения списка вебэлементов
  42.         нужно его обойти
  43.         и получить новый список вебэлементов
  44.         только тех которые видимы (у вебэлемента есть свойство isDisplayed)
  45.  
  46.  
  47.     как мы получали доступ к таске
  48.         tasks.find(exactText("task1")
  49.     тут  - нам понадобится новый кондишен
  50.         который будет иметь вот такую сигнатуру
  51.         ExpectedCondition<WebElement> elementWithText(final By elementsLocator, final String exactText)
  52.         в котором - в apply - вернешь такой элемент списка
  53.         у которого текст equals переданному
  54.         а не найдешь такой єлемент - значит вернешь нулл
  55.  
  56.         в результате - проверка assertThat(elementWithText(tasks, "task1"))
  57.         будет возвращать тебе нужный веэлемент
  58.  
  59.         по аналогии с уже существующим методом $
  60.         реализуй еще один метод $(ExpectedCondition<WebElement> conditionToWaitElement)
  61.         который по сути - и будет внутри себя делать assertThat и возвращать его результат
  62.         и тогда - когда нужно будет получить доступ к таске -
  63.         применяй $(elementWithText(tasks, "task1"))
  64.  
  65.     еще  - для редактирования таски
  66.         нам нужно было получить таску у которой есть класс editing
  67.         tasks.find(cssClass("editing"))
  68.         чтобы реализовать это - тебе нужно написать новый кондишен
  69.         ExpectedCondition<WebElement> elementWithCssClass(final By elementsLocator, final String cssClass)
  70.         во сути - для каждого элемента списка нужно будет анализировать не тексты
  71.         а значения атрибута class - element.getAttribute("class")
  72.         это - строка со значениями цсс классов элемента, разделенными пробелами (вспомни - active editing)
  73.  
  74.     как это вообще делать
  75.          задание большое
  76.          делать все сразу - стратегия не очень удобная
  77.  
  78.          сначала - закомментируй все тесты
  79.          и закомментируй все в пейдже
  80.          за исключением проверок списка тасок, переменной tasks и метода добавления тасок
  81.          
  82.          реализуй простой тест
  83.             открыли урл
  84.             добавили тасок
  85.             проверили список тасок
  86.          уже в этот момент - многое прояснится
  87.             и так - шаг за шагом - раскомментируй что-то в пейдже и это реализуй
  88.             а затем - можно будет вернуться к ранее созданному набору тестов
  89.             и добиться того чтоб он работал
  90.            
  91.      советую - закончить прошлую работу
  92.             начать эту
  93.             и поднакопить вопросов
  94.             думаю, дальше будет полезнее - созвон по скайпу и разбор твоих вопросов глядя на один экран
  95.             в принципе - можно и без этог обойтись
  96.             мое дело - предложить)
  97.             а ты  - смотри сам
  98. */
Advertisement
Add Comment
Please, Sign In to add comment