Я реализую свой первый тест E2E в js (с использованием дизайна PageObject), и я действительно могу использовать некоторую помощь в этом вопросе.
Ситуация:
class SignDatesWindow extends ModalWindow {
constructor(root) {
super(root);
this.tableRowLocator = '1';
this.tableRowCalendar = new CalendarComponent('.//*[contains(@class, "component-tabulatedList")]/tbody/tr[${this.tableRowLocator}]//date-picker//input[@type != "hidden"]');
}
...
}
с ${this.tableRowLocator}
являясь важной частью CalendarComponent()
параметра.Идея состоит в том, что заполнитель должен быть изменен на значение переменной, к которой он относится (что, я думаю, очевидно).
Позже в коде выполняется манипулирование элементом:
setSignDates(){
this.tableRowCalendar.open();
this.tableRowCalendar.insertToday();
}
Но этого не происходит - при выполнении теста появляется ошибка: invalid selector: Unable to locate an element with the xpath expression <expression containing $(this.table...)..>
Если заполнитель изменяется для определенного значения, он работает.Кроме того, в другой части проекта, где имеет место интерполяция строк, это работает, но там это не часть объявления класса, а «только» значение переменной (в тех случаях, когда я нашел много поисковрешение).
Любая помощь будет принята с благодарностью.