7
votes

Y a-t-il un moyen de passer plusieurs navigateurs via Protractor Cli

Je voulais juste savoir qu'il est possible de spécifier CLI args à un protacteur comme

- multicapabilities.0.BrowneName Chrome --Multicabilities.1.BrowneName Firefox

de sorte qu'il remplit les multicapabilités définis dans le fichier Conf de Protractor.


0 commentaires

3 Réponses :


4
votes

Il y a quelques choses que vous pourriez essayer.

Comment puis-je utiliser des arguments de ligne de commande en angularjs PROTRACTEUR? explique comment passer dans une variable "paramètres", que si vous étiez totalement Pro, vous pouvez référencer plus loin dans le fichier de configuration, avec la section multicapabilities (peut-être utiliser une fonction d'assistance ou une instruction IF pour que vous ne soit pas " t faut transmettre un objet complexe de la ligne de commande). Pas facile à faire, mais possible.

https://sourcegraph.com/github.com/teeeeApap/grunat -ProTractor-Runner (voir la section Options) est un utilitaire qui vous permet de passer dans ces éléments de la ligne de commande sans aucun problème. C'est une source ouverte et semble être facile à mod si cela ne répond pas à vos besoins.

L'option la plus simple, en supposant que vous avez besoin de quelques options différentes, il suffirait d'utiliser deux fichiers de configuration différents, "Protractor.chrome.conf.js" et "PROTRACTOR.FIREFOX.CONF.JS" et fonctionnez celui-ci vous avez besoin pour le moment.


0 commentaires

1
votes

Ceci est une demande raisonnable. J'ai créé un PR pour cela ici: https://github.com/angular/proTractor/pull / 1770 . Pour l'instant, vous pouvez corriger ce PR à votre protracteur local pour utiliser cette fonctionnalité.


0 commentaires

22
votes

Un exemple concret de la première suggestion de Isaac Lyman:

CLI: P>

var capabilities = {
  chrome: {
    browserName: 'chrome'
  },

  firefox: {
    browserName: 'firefox'
  }
};

...

getMultiCapabilities: function() {
  var browsers = this.params.browsers.split(',');

  // Using lodash to select the keys in `capabilities` corresponding 
  // to the browsers param.
  return _( capabilities )
    .pick(browsers)
    .values()
    .value();
},


2 commentaires

Je ne peux pas croire que vous n'avez pas eu de upvotes pour cela, c'est une excellente solution qui fonctionne avec les contraintes actuelles du Protractor. Une chose à mentionner est que les gens auront besoin de "NPM Installation --Save-dev lodash" de la ligne de commande pour ajouter Lodash à leur nœud_modules et "Var _ = exiger (" Lodash '); " importer la bibliothèque.


Solution géniale! Merci.