Как переопределить функции в 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 проблемы:

  1. Моя функция щелчка игнорируется. Он по-прежнему щелкает элемент нормально. Я не вижу никаких журналов "что-то"
  2. steps_file.js, похоже, не имеет доступа к помощникам. this.helpers не определено

1 ответ

Почему вам нужно переопределить стандартную функцию? Я думаю, что будет намного проще и эффективнее, просто создайте пользовательский шаг, называемый "clickOn", и используйте его вместо "click". Внутри пользовательских шагов вы можете делать все, что хотите.

Другие вопросы по тегам