Я успешно выбрал несколько элементов страницы, и теперь я передаю все эти элементы отдельным моделям страниц и вспомогательным функциям.
В последнем я создал класс вспомогательных функций следующим образом:
import { Selector } from 'testcafe';
export default class Helpers {
selectPageElement (elementName) {
const elementTitle = Selector ('div').child('h2');
const numberOfElements = elementTitle.count;
if (numberOfElements) {
for (let i = 0; i < numberOfElements; i++) {
if (elementTitle.nth(i) === 'aname') {
return elementTitle.nth(i);
}
}
} else {
return false;
}
}
}
Затем в моем тестовом файле я вызываю этот метод следующим образом:
import { ClientFunction, Selector } from 'testcafe';
import Helpers from './helpers';
...
const helpers = new Helpers();
test('Test name', async t => {
...
await t
.click(helpers.selectPageElement('Element Name'));
});
, но я получаю следующую ошибку:
Action "selector" argument error:
Selector is expected to be initialized with a function, CSS selector string,
another Selector, node snapshot or a Promise returned by a Selector,
but undefined was passed.
Ядовольно плохо знаком с ES6, поэтому я считаю, что это то, что я называю методом.