2017-09-22 2 views
0

Je suis novice en matière de test de bout en bout. Je veux savoir que,À quoi servent les localisateurs personnalisés dans Protractor?

  1. Quelle est l'utilisation des localisateurs personnalisés dans Protractor?

  2. Quand devrions-nous les utiliser?

  3. N'importe quel exemple serait très apprécié?

J'ai cherché dans google mais rien de plus utile trouvé, qui peut faire une certaine compréhension à leur sujet.

+1

Si vous avez un élément sur votre site que vous avez accès en utilisant une combinaison d'autres localisateurs ou vous wan Pour fournir des paramètres facultatifs au localisateur, vous pouvez l'inclure dans un localisateur personnalisé, ce qui est bon si vous vous souciez du principe DRY. Exemple: http://www.protractortest.org/#/api?view=ProtractorBy.prototype.addLocator – FCin

Répondre

1

J'utilise des localisateurs personnalisés quand je ne peux pas utiliser un autre localisateur: id, nom, répéteur, reliure, etc. css

Par exemple, j'ai attribut ngClick et je veux sélectionner l'élément en utilisant cela, c'est mon code:

var customlocators = function() { 


by.addLocator('ngClick', function(toState,parentelement) { 


    var using = parentelement || document ; 
    var prefixes = ['ng-click']; 
     for (var p = 0; p < prefixes.length; ++p) { 
      var selector = '*[' + prefixes[p] + '="' + toState + '"]'; 
      var inputs = using.querySelectorAll(selector); 
      if (inputs.length) { 
       return inputs; 
      } 
     }  

}); 
} 

module.exports = new customlocators(); 

Ensuite, je peux utiliser dans des tests comme tout autre localisateur:

element(by.ngClick('addAuthentication()')).click();