Je fais un POC sur la commutation sur PROTRACTOR et JASMINE pour effectuer nos scripts automatisés. J'essaie de construire un cadre préliminaire, mais j'ai des problèmes d'essayer de traduire mon concept en réalité.
J'ai mis en place trois fichiers: CONF.JS, SPEC.JS et CF.JS. Conf.js est un fichier de configuration spécifique à Testplan, SPEC.JS contient les tests réels et CF.JS contient les fonctions communes que je utiliserai via tous les plans de test. J'essaie d'inclure une variable dans cf.js pour contenir l'URL de départ à utiliser dans le navigateur.get appel. Jusqu'à présent, je n'ai pas pu obtenir cela pour travailler. J'ai essayé de le déclarer dans cf.js avant la déclaration // des fonctions communes //, ainsi que dans la fonction elle-même. Quelle est la bonne façon de faire cela? P>
cf.js p> spec.js p>
3 Réponses :
Cela devrait être possible, j'ai posté une réponse similaire avant, mais faites-moi savoir si vous avez des préoccupations supplémentaires sur l'approche. L'approche que j'ai prise était d'exiger le fichier de fonction commun dans l'ONPREPARE en tant que variable globale. De cette façon, tout ce qui est exporté depuis le fichier est accessible dans tous les tests. P>
stocker la variable globale dans un Fichier séparé pour les tests de Protractor P>
Merci! Passage du développement ASP & VBScript à JavaScript et Sélenium fait ma tête à la tête. Cela a bien fonctionné.
Je sais que la douleur a fait une transition similaire moi-même. L'erreur que j'ai faite était d'essayer de sauter dans du prolongeur sans comprendre les technologies qu'il repose sur (Jasmin, Nodejs, JS, WebDriver, HTML), ce qui la rend extrêmement douloureuse à résoudre. Espérons que vous aurez un peu plus appris à ceux que je faisais au début.
Vous avez commis une erreur au code suivant:
// cf.js var commonfunctions = function () { this.StartPage = 'http://google.com/'; // use `this` at here, rather than `global` // spec.js beforeEach(function() { browser.waitForAngularEnabled(false); browser.get(commonfunctions.StartPage); });
Ajoutez le ci-dessous à votre Pour l'utiliser dans votre test comme ci-dessous p>
J'espère que cela vous aide p> config.js code> p>
baseurl: 'http://google.com/', code> p>
browser.get (browser.baseurl); code> p>