Внутренне, использует ли PageFactory css селектор для идентификатора, имени, имени класса, тэга? - PullRequest
0 голосов
/ 07 января 2020

Мы используем PageFactory в нашем проекте. Когда мы получаем «NoSuchElementException», я могу видеть, что даже если мы используем локаторы, такие как id, имя класса, имя, тэг внутри, он, похоже, использует «css selector».

ID:

@FindBy(id="usernames")
public WebElement username;

Сообщение об ошибке:

no such element: Unable to locate element: {"method":"css selector","selector":"#usernames"}

ИМЯ КЛАССА:

@FindBy(className="usernames")
public WebElement username;

Сообщение об ошибке:

no such element: Unable to locate element: {"method":"css selector","selector":".usernames"}

ИМЯ

@FindBy(name="usernames")
public WebElement username;

Сообщение об ошибке:

no such element: Unable to locate element: {"method":"css selector","selector":"*[name='usernames']"}

TAGNAME

@FindBy(tagName="usernames")
public WebElement username;

Сообщение об ошибке:

no such element: Unable to locate element: {"method":"css selector","selector":"usernames"}

Bur, в случае локаторов, таких как linktext, xpath, используется прямой метод.

no such element: Unable to locate element: {"method":"link text","selector":"usernames"}
no such element: Unable to locate element: {"method":"partial link text","selector":"usernames"}
no such element: Unable to locate element: {"method":"xpath","selector":"usernames"}

Мой вопрос:

Если локаторы, такие как текст ссылки, частичный текст ссылки, xpath могут использовать свой прямой метод, почему бы не идентификатор, имя, имя класса, тэг?

...