julia_v_iluhina

Untitled

Sep 2nd, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.40 KB | None | 0 0
  1. https://bitbucket.org/K_elly/homeworks/src/817ab601535f5c2b5dfcc8efd1cf103c3884b2ad/seleniumgmailtest/?at=master
  2.  
  3. /*
  4.     отращивай привычку -
  5.     перед тем, как кому-то отдать код или запушить в репозиторий -
  6.     поправляй форматирование кода
  7.  
  8.     например, в CustomConditions
  9.  
  10.     выдели код
  11.     в меню - code->reformat code
  12.  
  13.     обрати внимание - как подравнялся код
  14.  
  15.     это - наиболее наглядный для большинства вид
  16. */
  17. ************************************************
  18. public static ExpectedCondition<WebElement> listNthElementHasText(final List<WebElement> elements, final int index, final String text) {
  19. ...
  20.  if (actualText.contains(text)) ;
  21.  /*
  22.     писала про это
  23.  
  24.     вот эта точка с запятой = то, что мы делаем, если условие выполнится
  25.     т е = если условие выполнится - мы фактически ничего не делаем
  26.     и сразу после этого код в фигурных скобках  - выполняется в любом случае
  27.  
  28.     точку с запятой надо убрать и снова реформатировать код
  29.     обрати внимание - что изменится
  30.  
  31.     IntelIJ Idea сразу сделает замечание - не хватает return ...
  32.  
  33.     мы позаботились - что вернуть в случае выполнения условия
  34.     но - не позаботились - что же вернуть в остальных случаях
  35.     в остальных случаях = проверка не прошла = возвращаем нулл
  36.  
  37.     вот теперь - имеем тот код, который я ранее описывала
  38.  */
  39. *************************************************
  40.  
  41.   return String.format("%dth element \nof %s list \nto have text: %s\n", index + 1, actualText, text);
  42. /*
  43.     давай вот эту мелочь еще подправим, просто по пути
  44.     вот это - что в сообщении мы будем оперировать нумерацией с единицы - многих может запутать
  45.  
  46.     лучше - формулировать фразу - с расчетом нумерации с нуля
  47.     и построить ее однозначнее
  48.  
  49.     element [...] has text .... while expected text is ...
  50.  
  51.     обозначив такой-то элемент как element [...] - мы применим обозначение, как используем для массивов обычно
  52.     когда хотим получить такой-то элемент
  53.     это уберет сомнения )
  54.     можно еще однозначнее -  element by index ...
  55.  
  56.     почему нумерация с нуля - однозначнее - в конце  ревью поясню
  57. */
  58. ***************************************************
  59.  
  60.  public static List getTexts(List<WebElement> elements) {
  61.  
  62.  /*
  63.     теоретически - метод может пригодиться не только для кондишенов
  64.     он - реализует достаточно универсальную возможность
  65.  
  66.     стоит его расположить в классе Helpers (я ранее там же предлалага создать getUniqueText - для получения
  67.     уникальной строки - еще с веленидовской версии этого задания - это делать не обязательно по-прежнему)
  68.      
  69.     а сам класс Helpers - в пекедже core
  70.      
  71.     это не стоит смешивать ни с CustomCondition, ни с ConciseAPI - т к речь про функциональность другой категории
  72.     просто полезные методы, которые применимы в любом селениумском проекте
  73.  */
  74. *********************************************
  75. /*
  76.     про нумерацию с нуля или единицы
  77.    
  78.     лучше - быть понятнее для большинства
  79.     большинство в большинстве случаев столкнулось с нумерацией с нуля)
  80.     большинство увидело тот же термин -  index
  81.  
  82.      а для индекса элемента в коллекции/массиве - применяется именно термин  index
  83.      мы используя такой термин  - лишний раз подчеркнули - нумеруем с нуля
  84.  
  85.     надеюсь, я тебя убедила
  86.     https://en.wikipedia.org/wiki/Zero-based_numbering
  87.     http://c2.com/cgi/wiki?ZeroAndOneBasedIndexes
  88.     http://stackoverflow.com/questions/24841172/why-is-array-indexing-in-java-start-with-0
  89.  
  90.     вот еще цитата похожего обсуждения - Яков отвечал на вопрос - другому студенту
  91.  
  92.     Зачем нумеровать с нуля, если более удобочитаемо с 1 начинать?
  93.  
  94.     воно то зручно… але не очевидно
  95.     залізе програміст якийсь в твій тест… і подумає що під 1 мається на зувазі 2гий елемент
  96.     в принципі якщо хочеш… можеш і “з 1" залишити…
  97.     але ти повинен розуміти що є сенс так робити тільки якщо всі в команді,
  98.     в тому числі і програмісти погодилися на це і сказали що ОК
  99.  
  100.     при цьому… тобі треба бути переконаним що скрізь буде нумерація з 1
  101.     тобіш тобі треба створити наприклад врапер над іншими методами селеніума
  102.     які працюють з індексами - щоб вони теж з 1 рахували :)
  103.  
  104.     інакше буде плутанина
  105.     по факту - простіше не плутатись і залишити рахунок з нуля
  106.  
  107. */
Advertisement
Add Comment
Please, Sign In to add comment