При написании тестов с TestCafe я создаю служебные функции , но, похоже, возникает проблема при использовании метода Selector ('') внутри любая функция.
Метод Selector ('') прекрасно работает внутри тестовых файлов, а также при импорте из другого файла (utility_selectors.js). Я думаю, что мне нужно что-то включить в функцию, но я застрял и не могу найти решение.
Моя цель - создать функцию выбора координат щелчка мышью.
Utility_selectors.js
import { Selector } from 'testcafe';
export const viewport = Selector('.viewport').find('canvas');
Utility_functions.js
import * as s from './selectors.js';
export const selectPoint = (x,y) => {
return s.viewport + ",{ offsetX :" + x + ", offsetY :" + y + "}"
}
ИЛИ (оба не работают)
export function selectPoint(x,y){
return s.viewport + ",{ offsetX :" + x + ", offsetY :" + y + "}"
}
Testfile.js (функция полезности в действии)
import { selectPoint } from '../utilities/functions.js';
test('example utility function', async (t) => {
await t.click(selectPoint(100,200));
});
При выполнении в cmd возникает следующая ошибка:
SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'function
__$$clientFunction$$() {
const testRun = builder._getTestRun();
const callsite = (0, _getCallsite.getCallsiteForMethod)(builder.callsiteNames.execution);
const args = [];
// OPTIMIZATION: don't leak `arguments` object.
for (let i = 0; i < arguments.length; i++) args.push(arguments[i]);
return builder._executeCommand(args, testRun, callsite);
},{ offsetX :100, offsetY :200}' is not a valid selector.
Короче говоря, я хочу включить метод SelectC ('') TestCafe в служебную функцию.
Заранее спасибо!