2014-09-16 7 views
6

Sto provando ad avere Testem lanciando i miei test nel browser Chrome con specifiche estensioni caricate, ma per impostazione predefinita è un profilo Chrome vuoto che viene avviato, e che non persistono estensioni da una corsa all'altra.launchem browser chrome con specifiche estensioni

Il mio obiettivo è ad esempio avere Testem per avviare il browser Chrome precaricato con il Ember Inspector in modo che sia possibile eseguire il debug dei test utilizzando tale strumento.

Volevo sapere se è possibile, e se sì, come.

+0

Correlato: https://github.com/testem/testem/issues/808 – vine77

risposta

3

Purtroppo non riesco a trovare un modo integrato che riesca a trovare.

Se si desidera una soluzione rapida e sporca, vi consiglio il seguente:

I browser disponibili in testem sono definiti in testem/lib/browser_launcher.js Se si desidera modificare il file che ember-cli usi, questo sarà il percorso completo:

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

Questo file ha una funzione denominata browsersForPlatform(). Trova la tua piattaforma e la voce per Chrome. Per Darwin la voce corrispondente è la seguente:

 { 
     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 
     }, 

Avrai voglia di cambiare il args in modo che viene chiamato come volete. La mia ipotesi è che il problema è che --user-data-dir punti a una directory tmp. Forse semplicemente rimuovendo questo si risolverà il problema.

Idealmente, testem offrirebbe un modo nel file testem.json per sovrascrivere le opzioni del browser. Questo sarebbe probabilmente un contributo ragionevolmente diretto al progetto testem se sei interessato e c'è interesse tra i manutentori.

Se si segue la rotta di modifica browser_launcher.js, ricordarsi che si riempirà ogni volta che il pacchetto del nodo viene aggiornato. Presumo che ci sia un modo per installare una versione biforcuta e quindi mantenere la tua copia aggiornata come meglio credi.

+0

È possibile utilizzare npm-shrinkwrap.json per forzare ember-cli a utilizzare una versione biforcuta di testem. Gli argomenti di Chrome sono ora in [lib/utils/known-browsers.js] (https://github.com/testem/testem/blob/v1.9.1/lib/utils/known-browsers.js#L22-L33) – vine77