2014-09-16 15 views
6

Ich versuche Testem starten meine Tests in Chrome Browser mit bestimmten Erweiterungen geladen, aber standardmäßig ist es ein leeres Chrome-Profil, das gestartet wird, und das nicht tut Fortsetzungen von einem Lauf zum anderen fortsetzen.starten Testem Chrome Browser mit bestimmten Erweiterung (en)

Mein Ziel ist zum Beispiel Testem, um den Chrome-Browser mit der Ember Inspector vorinstalliert zu starten, so dass ich Tests debuggen kann, die dieses Tool verwenden.

Ich wollte wissen, ob das möglich ist, und wenn ja, wie.

+0

Weitere Informationen: https://github.com/testem/testem/issues/808 – vine77

Antwort

3

Leider scheint es keine eingebaute Möglichkeit zu geben, die ich finden kann.

Wenn Sie eine schnelle und schmutzige Lösung wollen, empfehle ich folgendes:

Die verfügbaren Browser in testem in testem/lib/browser_launcher.js definiert Wenn Sie die Datei ändern möchten, dass ember-cli verwendet, wird dies für den vollständigen Pfad sein:

<your-app-dir>/node_modules/ember-cli/node_modules/testem/lib/browser_launcher.js 

Diese Datei hat eine Funktion namens browsersForPlatform(). Finden Sie Ihre Plattform und den Eintrag für Chrome. Für Darwin ist der entsprechende Eintrag wie folgt:

 { 
     name: "Chrome", 
     exe: "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome", 
     args: ["--user-data-dir=" + tempDir + "/testem.chrome", "--no-default-browser-check", "--no-first-run", "--ignore-certificate-errors"], 
     setup: function(config, done){ 
      rimraf(tempDir + '/testem.chrome', done) 
     }, 
     supported: browserExeExists 
     }, 

Sie werden es ändern wollen die args so genannt wird, wie Sie möchten. Meine Vermutung ist das Problem ist, dass --user-data-dir verweist auf ein tmp-Verzeichnis. Vielleicht wird das Problem durch einfaches Entfernen behoben.

Idealerweise würde testem in der Datei testem.json einen Weg bieten, die Browseroptionen zu überschreiben. Dies wäre wahrscheinlich ein einigermaßen einfacher Beitrag zum testem-Projekt, wenn Sie interessiert sind und Interesse bei den Betreuern besteht.

Wenn Sie die Route der Änderung gehen browser_launcher.js nur daran erinnern, dass es jedes Mal geplagt wird, wenn das Knotenpaket aktualisiert wird. Ich nehme an, dass es eine Möglichkeit gibt, eine gegabelte Version zu installieren und dann Ihre Kopie auf dem neuesten Stand zu halten, wie Sie für richtig halten.

+0

Sie können npm-shrinkwrap.json verwenden, um ember-cli zu zwingen, eine gegabelte Version von testem zu verwenden. Chrome-Argumente befinden sich jetzt in [lib/utils/known-browsers.js] (https://github.com/testem/testem/blob/v1.9.1/lib/utils/known-browsers.js#L22-L33). – vine77