0
votes

Ajout de variables globales via un fichier de fonction commun requis

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?

cf.js xxx

spec.js xxx < p> En ce moment, il ne pas accéder à la page Web.


0 commentaires

3 Réponses :


0
votes

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.

stocker la variable globale dans un Fichier séparé pour les tests de Protractor


2 commentaires

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.



0
votes

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);
});


0 commentaires

0
votes

Ajoutez le ci-dessous à votre config.js

baseurl: 'http://google.com/',

Pour l'utiliser dans votre test comme ci-dessous

browser.get (browser.baseurl);

J'espère que cela vous aide


0 commentaires