Тестирование Javascript E2E: интерполяция строк в xpath в качестве значения конструктора не работает - PullRequest
0 голосов
/ 29 октября 2018

Я реализую свой первый тест 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...)..>

Если заполнитель изменяется для определенного значения, он работает.Кроме того, в другой части проекта, где имеет место интерполяция строк, это работает, но там это не часть объявления класса, а «только» значение переменной (в тех случаях, когда я нашел много поисковрешение).

Любая помощь будет принята с благодарностью.

...