Привет всем. Прошу помощи по такому вопросу.Хочу сделать метод для ввода текста в требуемое поле, принимающий имя элемента и текст. Примерно так:
public void enterText(String elementName, String text){
element(elementName).type(text);
}
Однако когда передаю в метод в качестве имени элемента “newAddress_companyNameInput”,в качестве вводимого текста “TestName1”, элемент не находится, и появляется ошибка:
no such element: Unable to locate element: {“method”:“xpath”,“selector”:“newAddress_companyNameInput”}
Если же выполняю метод так (прямо указываю имя элемента):
public void enterText(String Name) {
element(newAddress_companyNameInput).type(Name);
}
, все проходит хорошо. Такое ощущение что не получается стрингом имя элемента передать.
Видимо, проблема в том, что я передаю стринг, а надо в метод передавать наверное объект.
Вокруг чего вся идея - на странице есть 30 полей, и в каждое надо что-то вписывать. Вот и хочу сделать один метод, принимающий название поля и текст. Иначе получается что надо на каждое поле свой метод ввода писать.
проблема в том что Ви не понимаете концепции параметр, метод , клас и обьект … как Ви можете передавать в параметр селектора название переменной елемента ??
Да, я только начинаю разбираться и сложности с пониманием всех соотношений конечно есть.
В проекте используется Selenium + Serenity/Thucydides, oчевидно это синтаксис этой программы.
То есть метод
public void enterText(String Name) {
element(newAddress_companyNameInput).type(Name);
}
печатает в элементе newAddress_companyNameInput требуемый текст из переменной Name.
Тарас, спасибо большое за совет! В том проекте, в который я вникаю, WebElementы объявлены private на первой странице PageObject, методы из нее вызываются с другой страницы, которая конечно их не видит. При этом у меня пока не хватает опыта и видения картинки как достучаться до элементов - попробую с геттерами повозиться. Еще раз спасибо за совет!