Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://bitbucket.org/K_elly/homeworks/src/817ab601535f5c2b5dfcc8efd1cf103c3884b2ad/seleniumgmailtest/?at=master
- /*
- отращивай привычку -
- перед тем, как кому-то отдать код или запушить в репозиторий -
- поправляй форматирование кода
- например, в CustomConditions
- выдели код
- в меню - code->reformat code
- обрати внимание - как подравнялся код
- это - наиболее наглядный для большинства вид
- */
- ************************************************
- public static ExpectedCondition<WebElement> listNthElementHasText(final List<WebElement> elements, final int index, final String text) {
- ...
- if (actualText.contains(text)) ;
- /*
- писала про это
- вот эта точка с запятой = то, что мы делаем, если условие выполнится
- т е = если условие выполнится - мы фактически ничего не делаем
- и сразу после этого код в фигурных скобках - выполняется в любом случае
- точку с запятой надо убрать и снова реформатировать код
- обрати внимание - что изменится
- IntelIJ Idea сразу сделает замечание - не хватает return ...
- мы позаботились - что вернуть в случае выполнения условия
- но - не позаботились - что же вернуть в остальных случаях
- в остальных случаях = проверка не прошла = возвращаем нулл
- вот теперь - имеем тот код, который я ранее описывала
- */
- *************************************************
- return String.format("%dth element \nof %s list \nto have text: %s\n", index + 1, actualText, text);
- /*
- давай вот эту мелочь еще подправим, просто по пути
- вот это - что в сообщении мы будем оперировать нумерацией с единицы - многих может запутать
- лучше - формулировать фразу - с расчетом нумерации с нуля
- и построить ее однозначнее
- element [...] has text .... while expected text is ...
- обозначив такой-то элемент как element [...] - мы применим обозначение, как используем для массивов обычно
- когда хотим получить такой-то элемент
- это уберет сомнения )
- можно еще однозначнее - element by index ...
- почему нумерация с нуля - однозначнее - в конце ревью поясню
- */
- ***************************************************
- public static List getTexts(List<WebElement> elements) {
- /*
- теоретически - метод может пригодиться не только для кондишенов
- он - реализует достаточно универсальную возможность
- стоит его расположить в классе Helpers (я ранее там же предлалага создать getUniqueText - для получения
- уникальной строки - еще с веленидовской версии этого задания - это делать не обязательно по-прежнему)
- а сам класс Helpers - в пекедже core
- это не стоит смешивать ни с CustomCondition, ни с ConciseAPI - т к речь про функциональность другой категории
- просто полезные методы, которые применимы в любом селениумском проекте
- */
- *********************************************
- /*
- про нумерацию с нуля или единицы
- лучше - быть понятнее для большинства
- большинство в большинстве случаев столкнулось с нумерацией с нуля)
- большинство увидело тот же термин - 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-with-0
- вот еще цитата похожего обсуждения - Яков отвечал на вопрос - другому студенту
- Зачем нумеровать с нуля, если более удобочитаемо с 1 начинать?
- воно то зручно… але не очевидно
- залізе програміст якийсь в твій тест… і подумає що під 1 мається на зувазі 2гий елемент
- в принципі якщо хочеш… можеш і “з 1" залишити…
- але ти повинен розуміти що є сенс так робити тільки якщо всі в команді,
- в тому числі і програмісти погодилися на це і сказали що ОК
- при цьому… тобі треба бути переконаним що скрізь буде нумерація з 1
- тобіш тобі треба створити наприклад врапер над іншими методами селеніума
- які працюють з індексами - щоб вони теж з 1 рахували :)
- інакше буде плутанина
- по факту - простіше не плутатись і залишити рахунок з нуля
- */
Advertisement
Add Comment
Please, Sign In to add comment