Можем ли мы хранить разные типы локаторов (xpath, css, id, name) для одной и той же переменной веб-элемента на одной странице POM - PullRequest
0 голосов
/ 24 января 2019

Можем ли мы хранить разные типы локаторов (xpath, css, id, name) для одной и той же переменной веб-элемента на одной странице POM. Я знаю, что мы не можем хранить разные локаторы с одинаковым логическим именем на странице POM class file.POM, но можем ли мы ссылаться на одно и то же логическое имя с разными типами локаторов ??

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Я нашел собственное решение, которое лучше подходит для тестирования приложения с изменением пользовательского интерфейса в новой версии.

Решение состоит в том, чтобы использовать аннотацию @FindAll на странице POM, чтобы мы могли связывать различные локаторы дляодно логическое имя.В будущем, если xpath потерпит неудачу, тогда может быть идентификатор или имя, или сработает селектор Css, что фактически уменьшает переработку изменения репозитория объектов.

0 голосов
/ 24 января 2019

Я могу придумать 2 разных варианта, как описано ниже

Предположим, что на странице есть кнопка сохранения

  1. Определите все 4 метода для вызова и вызова того метода, который вам нужен

    myPage.save.clickbyXPath myPage.save.clickbyCSS myPage.save.clickbyName myPage.save.clickbyId

  2. Передать параметр в POM

    myPage.save.click (clickby) // clickby «xPath», «CSS», «id», «name»

В боковом POM используйте переключатель для вызова метода appr.

...