Как переопределить функции в CodeceptJS
Я хочу что-то делать каждый раз, когда нажимаю на элемент.
Поэтому, когда я звоню, нажмите
I.click(locator);
Вместо того, чтобы вызывать функцию щелчка веб-драйвера, я хочу, чтобы она вызывала мое переопределение, которое я добавил в steps_file.js
click(locator){
// do something first
console.log('something');
// finally click the element
this.helpers["WebDriverIO"].browser.click(locator);
}
У меня есть 2 проблемы:
- Моя функция щелчка игнорируется. Он по-прежнему щелкает элемент нормально. Я не вижу никаких журналов "что-то"
- steps_file.js, похоже, не имеет доступа к помощникам. this.helpers не определено
1 ответ
Почему вам нужно переопределить стандартную функцию? Я думаю, что будет намного проще и эффективнее, просто создайте пользовательский шаг, называемый "clickOn", и используйте его вместо "click". Внутри пользовательских шагов вы можете делать все, что хотите.