julia_v_iluhina

Untitled

Sep 30th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.25 KB | None | 0 0
  1. public static void assertThat(ExpectedCondition condition) {
  2.         new WebDriverWait(getDriver(), 4).until(condition);
  3. }
  4.  
  5. /*
  6.      ну уже б Configuration.timeout применила)
  7.      или просто параметром вынесла
  8. */
  9. *****************************
  10. http://joxi.ru/vAW36KgskbnezA
  11. /*
  12.     зверинец прибивай)
  13. */
  14. *******************************
  15. public class MinimumSizeOf extends SizeOf {
  16. /*
  17.     из имен обоих классов убирай Of
  18.  
  19.     писала в прошлый раз - почему стоит так сделать
  20. */
  21. *************************
  22. public abstract class AbstractLazyElement implements LazyElement {
  23.     ...
  24.     public LazyElement lazyElement;
  25.     ...
  26.         @Override
  27.         public boolean is(Condition<WebElement> condition) {
  28.             try {
  29.                 return condition.check(lazyElement.getWrappedEntity());
  30.             } catch (WebDriverException e) {
  31.                 return false;
  32.             }
  33.         }
  34. /*
  35.     напоминаю - мы в контексте лейзи элемента
  36.     this - это тот лейзи-элемент, у которого мы вызываем этот метод is
  37.  
  38.     проверять при этом выполнение кондишена не для this, а для чего-то не инициализированного lazyElement
  39.     не стоит
  40.  
  41.     не нужно тебе такое поле lazyElement
  42.     и в этом методе используй this
  43. */
  44. ***********************************
  45. public class LazyWebDriverCollection extends AbstractLazyCollection {
  46.     private static By locator;
  47.  
  48. public class LazyWebDriverCollection extends AbstractLazyCollection {
  49.     private static By locator;
  50.  
  51.  
  52. /*
  53.     оу
  54.     какая ошибка)
  55.  
  56.     раз поле locator статическое - то оно одно на весь класс
  57.     не для каждого объекта - свое значение
  58.     а для класса - одно на всех
  59.  
  60.     так можно таких феерических глюков наловить)))
  61.  
  62.     делай поле статическим - если тебе что-то единственное нужно
  63.  
  64.     у нас получилось
  65.         не - у каждого человека есть рука
  66.         а - у человечества есть рука. Одна на всех
  67.     нам так точно не надо)
  68.  
  69.     проверь и остальные классы
  70.  
  71. */
  72. *********************************
  73.  
  74. public class SizeOf extends CollectionCondition {
  75.  ...
  76.  
  77.     public boolean checkListSize() {
  78.         return listSize == expectedSize;
  79.     }
  80.  
  81.     @Override
  82.     public boolean check(List<WebElement> elements) {
  83.         listSize = elements.size();
  84.         //return listSize == expectedSize;
  85.         return checkListSize();
  86.     }
  87. /*
  88.     ну... много ты тут не наэкономишь)
  89.  
  90.     ради одной строчки - я б не стала checkListSize() реализовывать
  91.  
  92.     для texts & exactTexts - оно оправдано
  93.  
  94.     а тут - когда сам check в 2 строчки ...
  95.     сомнительная польза
  96.  
  97. */
Advertisement
Add Comment
Please, Sign In to add comment