julia_v_iluhina

Untitled

Dec 29th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.09 KB | None | 0 0
  1. public static List<WebElement> $$(WebDriver driver, List<WebElement> proxyElements) {
  2. /*
  3.     во-первых, такой метод в принципе не нужен
  4.     во-вторых - загляни - как устроен visibilityOfAllElements
  5.     думаю, ты удивишься)
  6. */
  7. *****************************************
  8. public static void assertThat(WebDriver driver, int timeout, ExpectedCondition<Boolean> condition) {
  9. public static void assertThat(WebDriver driver, ExpectedCondition<Boolean> condition) {
  10. /*
  11.     Или уже с дженерик-типами работай - для ExpectedCondition
  12.     или не уточняйся до дженерик-типа для параметра condition
  13.         не ExpectedCondition<Boolean>
  14.         а ExpectedCondition
  15.     пока - ты это можешь себе позволить
  16.     пока  assertThat  возвращает результат типа void
  17.  
  18.     и тогда - уже сейчас - внутри метода $ - смжешь использовать assertThat
  19. */
  20. ************************************************
  21. public class Configuration {
  22.  
  23.     public static int timeout = 15;
  24. }
  25. /*
  26.     тут таймаут выставь более традиционно
  27.     в selenide например, значение по умолчанию = 4 секунды
  28.     это неспроста)
  29.     это так = т к большинству - этого достаточно
  30.  
  31.     тут - удобное для большинства значение
  32.     а вот в самом тест-классе - установишь таймаут нужного тебе размера (вспомни селенидовскую версию)
  33.  
  34. */
  35. ******************************
  36. public class BaseTest {
  37. /*
  38.     напрасно для класа-предка не учел моих рекомендаций
  39.     я на них настаиваю
  40.  
  41.     прошлое ревью, строки 148-160
  42.     даже если у тебя лишь один потомок сейчас - код предка не должен на эти знания опираться
  43.     и должен ок работать - сколько бы ни было у BaseTest потомков
  44. */
  45. ***************************
  46. textToBePresentInElement($$(driver, page.emails).get(0), subject)
  47. /*
  48.      это - очень распространенная ошибка
  49.      
  50.      textToBePresentInElement - принимает первым параметром - WebElement
  51.      НО - имеет смысл передавать туда - только прокси веб элемент (который сам аннотирован как @FindBy)
  52.      даже если
  53.          page.emails - прокси-список
  54.          и $$(driver, page.emails) - тот же прокси-список
  55.      то
  56.          $$(driver, page.emails).get(0)
  57.          или
  58.          page.emails.get(0)
  59.      это - НЕ прокси веб элемент
  60.      и он - не будет переискиваться
  61.      
  62.      вспомни видео - как работает ждущая проверка
  63.      загляни в apply кондишена textToBePresentInElement
  64.      мы - просто оперируем переданным в кондишен вебэлементом
  65.      если это прокси-элемент - он сам переискивается
  66.      т к - так реализован
  67.      
  68.      а у нас - не прокси веб элемент
  69.      мы как получили этот веб элемент
  70.      так и все - он уже не меняется
  71.      уже на странице - 10 раз все поменяться могло
  72.      а мы все старыми сведениями оперируем
  73.      
  74.      тут - без новых кондишенов - таких как я описала в прошлый раз - не обойдешься
  75.      как бы ты ни хотел)
  76.      реализуй те 2 кондишена, что я описала в прошлый раз
  77.      
  78.      последняя проверка - не может быть выполнена  - как проверка текста нулевого элемента списка
  79.      подними селенидовскую версию, подними условие задания
  80.      вспомни - что мы проверяем
  81.      разве что текст самого первого письма содержит то-то?
  82.      нет
  83.      мы проверяем - что писам = 1 штука, и текст мейла этоко - содержит то-то
  84.      
  85.      но - как и в селенидовской версии - смотри на задачу шире
  86.      на заужай ее
  87.      реализуй - именно кондишен texts - для этой последней проверки
  88.      
  89.      если сложно - реализуй сначала одну проверку - отдай на ревью, потом - дальше продолжишь
  90. */
Advertisement
Add Comment
Please, Sign In to add comment