Я инженер по обеспечению качества программного обеспечения, и я пытаюсь создать автоматизированный тест для веб-страницы.
Небольшая предыстория:
Структура Selenium, которую использует ТОЛЬКО моя компания, позволяет вам использовать X-пути, сохраненные как объект, а затем вы используете уже существующие методы, такие как «щелчок (какой-то объект)» или «ввод (какой-то объект)» и т. д.
Проблема:
В настоящее время я пытаюсь создать тест, который выбирает несколько кнопок одного класса. Есть 6 кнопок настройки, которые мне нужно выбрать. Теперь я могу сделать это, но используя:
`//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[1]/div/a
//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[2]/div/a
//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[3]/div/a
//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[4]/div/a
//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[5]/div/a
//*[@id="tenant-details-accordion"]/div[1]/div[2]/div/div[2]/div[6]/div/a`
-Однако это только временно, потому что позже тест завершится неудачно, когда кнопка будет удалена... Я говорил с командой разработчиков о добавлении уникальных идентификаторов к каждой кнопке. Но не похоже, что это тот путь, по которому они хотят идти...
Возможное решение:
- Можно ли сузить «область действия» селена?
Например, указать Selenium просматривать определенный класс, а не всю страницу?
– Я думаю, что он должен искать класс, сопоставьте определенный текст, затем выберите «Установить». Если да, то возможно ли объединение нескольких путей X Что-то вроде....
//div[@class='col-sm-4'].... //div[contains(.,'Birth Date: Set +')]
Я думаю, что я мог бы создать Xpath, который сужает то, что на самом деле будет просматривать Selenium.
- Поиск класса
- Поиск текста «Дата рождения»
- Выбор кнопки «Установить»