Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static ExpectedCondition<List<WebElement>> exactTextsInVisibleElements(final By elementsLocator, final String... expectedTexts) {
- return elementExceptionsCatcher(new ExpectedCondition<List<WebElement>>() {
- private List<WebElement> visibleElements;
- /*
- эта переменная используется только в apply
- там ее и объявляй
- нету причин выносить ее на уровень класса
- */
- public List<WebElement> apply(WebDriver driver) {
- List<WebElement> elements = driver.findElements(elementsLocator);
- visibleElements = getVisibleElements(elements);
- ******************************************************************
- public static ExpectedCondition<List<WebElement>> exactTextsInVisibleElements(final By elementsLocator, final String... expectedTexts) {
- ...
- for (int i = 0; i < actualVisibleTexts.size(); i++) {
- return !expectedTexts[i].equals(actualVisibleTexts.get(i)) ? null : visibleElements;
- }
- /*
- в данном случае тернарный не очень уместен)
- в exactTexts - код правильнее
- тут - мы в любом случае аыходим на первой итерации
- сравнили первый элемент
- и если его текст равен - решили - что уже все ок (а могут быть проблемы с последующими элементами)
- тут корректнее - если встречаем первый не верный элемент - возвращать нулл
- а список возвращать - уже после цикла
- мы дотуда дойдем только если все элементы ок (раз мы внутри цикла не вышли)
- смотри exactTexts )
- тоже если хочешь - заверни этот одинаковый кусок в универсальный метод
- поправить надо обязательно
- насчет метода - не настаиваю
- */
- ***********************************
- public static void delete(String taskText) {
- // hover($(listElementHasExactText(tasks, taskText), ".destroy"));
- hover($(listElementHasExactText(tasks, taskText), "label"));
- /*
- выкрутилась красиво
- но универсальнее было сделать метод
- public static WebElement $(ExpectedCondition<WebElement> conditionWaitElement)
- для реализации этой задачи - да
- ты таки выкрутилась)
- все же подумай над моим предложением)
- */
- *****************************************
- public static void assertTasks(String... tasksTexts) {
- $$(exactTexts(tasks, tasksTexts));
- }
- public static void assertVisibleTasks(String... tasksTexts) {
- $$(exactTextsInVisibleElements(tasks, tasksTexts));
- }
- /*
- технически - конечно верно
- но точнее было бы использовать не
- $$
- а
- assertThat
- кстати, в assertNoTasks и assertNoVisibleTasks - ты так и делала
- мы же проверку делаем
- $$ - лучше использовать для работы со списокм
- для реализации действий
- нам и правда это тут не пригодится
- а вот в случае проверок - точнее будет использовать assertThat
- хотя технически - вариант рабочий
- все равно поправь)
- */
Advertisement
Add Comment
Please, Sign In to add comment