Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static ExpectedCondition<Boolean> sizeOfVisibleElements(final By elementsLocator, final int expectedSize) {
- ...
- public String toString() {
- return String.format("\nsize of list: %s\n should be: %s\n while actual size is: %s\n", visibleElements, expectedSize, listSize);
- }
- /*
- имя кондишена - по аналогии с exactTextsOfVisible
- можно лаконичнее написать - sizeOfVisible
- в сообщении toString() - ничего не сказано про фильтрации по visible
- size of list located by ...
- filtered by visible
- should be ...
- while actual size is ...
- лучше вывести локатор списка и написать про фильтрацию по видимости
- т к - это больше полезной информации даст, чем текстовое представление списка visibleElements
- */
- ***********************************************************
- public static ExpectedCondition<WebElement> listElementWithText(final By elementsLocator, final String expectedText) {
- ...
- if (actualTexts.get(i).equals(expectedText)) {
- ....
- public static ExpectedCondition<WebElement> listElementWithExactText(final String elementsLocator, final String expectedText) {
- ...
- if (actualTexts.get(i).equals(expectedText)) {
- ....
- public static ExpectedCondition<WebElement> listElementWithExactText(final By elementsLocator, final String expectedText) {
- ...
- if (actualTexts.get(i).equals(expectedText)) {
- ...
- /*
- не понятно
- кондишен listElementWithText и listElementWithExactText - реализованы одинаково
- а кондишенов listElementWithExactText - вообще 2 штуки
- разберись)
- */
- **************************************************
- public static ExpectedCondition<WebElement> listElementWithClass(final By elementsLocator, final String cssClass) {
- return elementExceptionsCatcher(new ExpectedCondition<WebElement>() {
- List<String> actualAttributes = new ArrayList<String>();
- /*
- я бы назвала actualClasses
- */
- public WebElement apply(WebDriver driver) {
- List<WebElement> elements = driver.findElements(elementsLocator);
- for (WebElement element : elements) {
- /*
- обрати внимание - ты используешь один цикл - чтобы собрать
- в список - фактические классы элементов
- и найти подходящий элемент
- */
- actualAttributes.add(element.getAttribute("class"));
- String[] attributes = element.getAttribute("class").split(" ");
- /*
- преобразование верное
- и тут бы - вместо attributes - я бы использовала classes
- */
- for (String attribute : attributes)
- if (attribute.equals(cssClass)) {
- return element;
- /*
- если мы нашли второй элемент из десяти
- то - в actualAttributes - у нас будет информация только о двух элементах
- соглашусь - что если toString() кондишена вызывать только в случае, если
- проверка не прошла - то мы в actualAttributes - получим описание классов всех элементов списка
- соглашусь - что toString() кондишена обычно только так и используется
- но
- вообще-то toString() любого объекта - это просто описание этого объекта
- потому - корректнее было бы - в первом цикле получить
- описание классов всех элементов списка
- а во втором цикле - уже принимать решение
- цель - одинаково работающий toString(), не зависящий от контекста
- все же это важно - предсказуемость и однозначность
- хотя конечно - соблазнительно оптимизировать )
- */
- *****************************************************
- public static WebElement startEditing(String taskText, String taskTextEdited) {
- /*
- почему параметры - не String oldTaskText, String newTaskText ?
- как-то пропустили - и я, и ты)
- */
- *********************************************************
- getDriver().getCurrentUrl()
- /*
- реализуй в ConciseAPI - метод url()
- полезная штука
- */
Advertisement
Add Comment
Please, Sign In to add comment