2014-12-12 8 views
5

Ich bin sehr verwirrt darüber, wie man Winkelmesser und Selenium sagen kann, woher ich meine Anwendung für die Integrationstests (mit Gulp auf Jenkins) bedienen soll.Winkelmesser und Selenium in Gulp und Jenkins

Dies ist meine Winkelmesser Konfiguration:

exports.config = { 
    seleniumServerJar: '../node_modules/protractor/selenium/selenium-server-standalone-2.44.0.jar', 

    multiCapabilities: [{ 
     browserName: 'chrome' 
    }], 

    baseUrl: 'http://127.0.0.1:9000/', 

    rootElement: 'html', 

    jasmineNodeOpts: { 
     showColors: true, 
     defaultTimeoutInterval: 30000 
    } 
}; 

Aber hier ist das Problem: http://127.0.0.1:9000 existiert nicht. Soll ich zuerst bereitstellen und dann die Integrationstests durchführen oder kann dies vor der Bereitstellung erfolgen? Denn wenn die Bereitstellung zuerst durchgeführt werden muss, ergibt es für mich keinen Sinn, wo sie in das Build-System eingefügt werden soll. Denn dann ist das nicht und kann kein Teil eines Build-Systems sein. Also, wo kommt CI her?

Antwort

6

Sie müssen dies in mehreren Schritten/Aufgaben mit Hilfe von gulp tun:

  • einen Selen-Server starten (wenn Sie einen lokalen Selen-Server verwenden)
  • einen Web-Server starten, siehe gulp-webserver (Sie fehlten diesen Schritt)
  • Lauf Winkelmesser testet
  • Shutdown ein Webserver
  • Shutdown ein Selen-Server
+0

Danke, das hat funktioniert. "Gulp-connect" ist jedoch zugunsten von "gulp-webserver" veraltet, also habe ich es stattdessen verwendet. Und "Schluck-servieren" funktioniert einfach nicht. Und das wird nirgends in einem Tutorial erwähnt, nicht einmal im offiziellen. Wie wir alle alles wissen. – Alex

+0

@Alex wow, vielen Dank für das Teilen, ich werde die Antwort entsprechend aktualisieren. – alecxe

0

ein voll funktionsfähiges Beispiel einer solchen Konfiguration kann auf Winkel seed Projekts. https://github.com/angular/angular-seed

ich es geschafft haben, erfolgreich, diesem Beispiel verwenden protractor Tests in meinem GitHub Projekt zu verwenden: https://github.com/atais/angular-eonasdan-datetimepicker

So können Sie entweder um Ihnen zu helfen.


Grundsätzlich ist der einfachste Weg ist:

  1. Lauf http-server als Daemon
  2. Lauf schluck Tests
  3. alles von npm verwalten (package.json)

Voll Code ist hier erhältlich: https://stackoverflow.com/a/41983565/1549135