2017-08-02 84 views
0

我想每次单击元素时都会执行一些操作。如何覆盖CodeceptJS中的函数

所以,当我打电话单击

I.click(locator); 

而不是调用webdriver的点击功能的,我希望它叫我重写我已经加入到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 is undefined

回答

0

为什么你需要重写标准函数?我认为将会更容易和更有效,只需创建一个名为“clickOn”的自定义步骤并使用它来代替“点击”即可。在自定义步骤内您可以做任何你想做的事情。