Size: a a a

QA — Автоматизация

2020 September 23

AP

Artem Pokalchuk in QA — Автоматизация
мне по сути с XPath нужно добраться до h6 каждого элемента в списке
источник

AP

Artem Pokalchuk in QA — Автоматизация
и проверить не = ли он тому, что я передаю в параметры метода
источник

СК

Серж Куройкин... in QA — Автоматизация
У тебя в классе страницы есть поле с родительским элементом списка.
Так же в классе страницы есть стринга с хпасом-паттерном, в котором надо будет заменять некую часть (например .//div[text()='<сюда_надо_будет_добавлять_текст_каким-то_образом>'])
Затем пишешь метод getElementByName(String name), в котором просто куегкт driver.fineElement(parent).findElement(String.format(<твой_хпас>, name))
источник

СК

Серж Куройкин... in QA — Автоматизация
куски кода с жавы, сорь, я не помню шарп вообще
источник

СК

Серж Куройкин... in QA — Автоматизация
Можно оптимизировать, возможно, но суть такая
источник

i

iBljad in QA — Автоматизация
Artem Pokalchuk
немного сложная и уже есть рабочая, которая немного легче в понимании
Ну вы спрашивали, как сделать в идеале без "некрасивых" слипов, вот оно)
Плюс чисто со липом всегда есть риск или слишком долго ждать, или слишком рано посчитать, что загрузка произошла (если сайт/стейдж будут под нагрузкой и производительность упадет)
источник

i

iBljad in QA — Автоматизация
Серж Куройкин
У тебя в классе страницы есть поле с родительским элементом списка.
Так же в классе страницы есть стринга с хпасом-паттерном, в котором надо будет заменять некую часть (например .//div[text()='<сюда_надо_будет_добавлять_текст_каким-то_образом>'])
Затем пишешь метод getElementByName(String name), в котором просто куегкт driver.fineElement(parent).findElement(String.format(<твой_хпас>, name))
Главное, не делать это слишком быстро в начале открытия страницы (снова возвращаясь к вейтам)
источник

СК

Серж Куройкин... in QA — Автоматизация
тут не важно, можно запилить своё ожидание, для повышения стабильности
источник

СК

Серж Куройкин... in QA — Автоматизация
пускай ждёт дольше, чем имплисит, который установлен в 0 по умолчанию
источник

AP

Artem Pokalchuk in QA — Автоматизация
Серж Куройкин
У тебя в классе страницы есть поле с родительским элементом списка.
Так же в классе страницы есть стринга с хпасом-паттерном, в котором надо будет заменять некую часть (например .//div[text()='<сюда_надо_будет_добавлять_текст_каким-то_образом>'])
Затем пишешь метод getElementByName(String name), в котором просто куегкт driver.fineElement(parent).findElement(String.format(<твой_хпас>, name))
да, я это уже сделал, но не знаю как именно сделать реализацию прохождения по дом дереву, что бы дойти до этого h6 у всех элементов пока что
источник

СК

Серж Куройкин... in QA — Автоматизация
.//div[.//h6[text()='<твой_текст>']] Этот хпас вернёт тебе элемент, у которого где-то внутри есть хидер с нужным именем
источник

СК

Серж Куройкин... in QA — Автоматизация
может меня кто поправит
источник

AP

Artem Pokalchuk in QA — Автоматизация
неа( не верный XPath
источник

СК

Серж Куройкин... in QA — Автоматизация
в консоли хрома отработал
источник

СК

Серж Куройкин... in QA — Автоматизация
если есть проблемы с текстом, то вместо text()='<твой_текст>' можно использовать contains(text(), <твой_текст>). Проверяет на неполное совпадение, но иногда этого хватает
источник

СК

Серж Куройкин... in QA — Автоматизация
.//div[.//h1[text()='Режимы поиска']]
Если что, вот это отрабатывает на странице показа результатов поиска.
источник

AP

Artem Pokalchuk in QA — Автоматизация
смотрел, в хроме - да, а в тесте, то  no such element: Unable to locate element: {"method":"xpath","selector":".//div[.//h1[text()='View All']]"}
источник

СК

Серж Куройкин... in QA — Автоматизация
а заголовок у тебя на странице 1й? на скрине вроде h6 был
источник

AP

Artem Pokalchuk in QA — Автоматизация
я h6 поставил
источник

AP

Artem Pokalchuk in QA — Автоматизация
ну в тесте
источник