2017-08-02 4 views
0

Je veux faire quelque chose chaque fois que je clique sur un élément.Comment remplacer les fonctions dans CodeceptJS

Alors, quand je clique appelle

I.click(locator); 

Au lieu d'appeler la fonction de clic WebDriver, je veux appeler mon override que je l'ai ajouté à steps_file.js

click(locator){ 

    // do something first 
    console.log('something'); 

    // finally click the element 
    this.helpers["WebDriverIO"].browser.click(locator); 
} 

J'ai 2 problèmes:

  1. Ma fonction de clic est ignorée. Il clique toujours sur l'élément normalement. Je ne vois aucun journal "quelque chose"
  2. steps_file.js ne semble pas avoir accès aux aides. this.helpers is undefined

Répondre

0

Pourquoi avez-vous besoin d'outrepasser la fonction standard? Je pense qu'il sera beaucoup plus facile et efficace de simplement créer une étape personnalisée appelée "clickOn" et l'utiliser au lieu de "cliquer". À l'intérieur des étapes personnalisées, vous pouvez faire ce que vous voulez.