2017-04-01 7 views
0

Wenn ich den Transporteur Befehl in der Befehlszeile eingeben, mit der folgenden Konfiguration:Winkelmesser ohne Selen Server

'use strict'; 

// Protractor configuration 
var config = { 
    specs: ['test/e2e/*spec.js'] 
}; 

if (process.env.TRAVIS) { 
    config.capabilities = { 
    browserName: 'firefox' 
    }; 
} 

exports.config = config; 

ich diese:

$ protractor 
[12:22:23] I/launcher - Running 1 instances of WebDriver 
[12:22:23] I/local - Starting selenium standalone server... 
[12:22:24] I/local - Selenium standalone server started at http://10.0.0.242:55414/wd/hub 
Started 
. 


1 spec, 0 failures 
Finished in 8.223 seconds 

[12:22:33] I/local - Shutting down selenium standalone server. 
[12:22:33] I/launcher - 0 instance(s) of WebDriver still running 
[12:22:33] I/launcher - chrome #01 passed 

das Problem ist, dass es dauert 5+ Sekunden um den "selenal standalone server" zu starten.

Zwei Fragen - (1) brauche ich diesen Server, um die Tests durchzuführen? Und (2), gibt es eine Möglichkeit, den Server im Hintergrund laufen zu lassen, ohne den Server jedes Mal neu starten zu müssen?

Antwort

1

Sie Selen Server Glas auch in der Transporteur Konfiguration verwenden. Überprüfen Sie das Beispiel unten. Dies ist auch bei der Verwendung von Phantomspeichern hilfreich.

seleniumServerJar: '../utils/selenium-server-standalone-2.53.1.jar',

seleniumPort: 4444,

make Benutzer seleniumAddress wird in der Config

1

Verwenden Sie den Winkelmesser DirectConnect Option? Wenn ja, können Sie auch das Standalone webdriver-manager verwenden. Der Winkelmesser benutzt es auch als Abhängigkeit.

Für lokale Entwicklung habe ich es als eine globale mit npm install webdriver-manager -g installiert, dann aktualisieren Sie es mit webdriver-manager update und starten Sie es mit webdriver-manager start. Es wird dann im Hintergrund auf dem Standardport 4444 ausgeführt, führen Sie webdriver-manager aus, um alle Optionen anzuzeigen.

Sie müssen dann den Webdriver nicht für jeden Test/jede Suite starten.

Hoffe, es hilft

+0

dank kommentiert, Entschuldigung, ich habe vergessen, meine Konfiguration zu kopieren, habe es nur zur Frage hinzugefügt. Das hat nicht ganz geklappt - ist die DirectConnect-Option ein Befehlszeilen-Flag? Oder ein Konfigurationsfeld? –

+0

ok Ich habe in meiner Konfiguration "directConnect: true" benutzt und es hat funktioniert - aber im Idealfall könnte ich mit dem selen webdriver Server sprechen, der den Hintergrund ausführt –

+1

Ihre Konfiguration ist ein bisschen klein, wenn Sie mit dem Selenserver im Internet kommunizieren wollen Dazu müssen Sie mindestens 'config.seleniumAddress = 'http: // localhost: 4444/wd/hub';' hinzufügen. Dann führt es alle Tests an dieser Adresse aus. – wswebcreation

Verwandte Themen