¿Alguien ha implementado la pila de integración continua para pruebas de IU web con Angular / Protractor?

Acabo de completar tal configuración, funciona bastante bien.

1. Le gustaría obtener los resultados de las pruebas en formato JUnit, de modo que Jenkins sepa cómo leerlos y aprobar / reprobar su compilación en consecuencia. Para esto, instale larrymyers / jasmine-reporters (npm install jasmin-reporters).
Una vez instalado, agregue a su archivo de configuración de transportador (conf.js) lo siguiente:

  require ('reporteros de jazmín');
         jasmine.getEnv (). addReporter (
             new jasmine.JUnitXmlReporter ('e2e-reports / junit-report', verdadero, verdadero)); 

En este caso configuré la ruta “e2e-reports / junit-report” para contener los resultados de las pruebas. Esta ruta debe agregarse también a Jenkins en la sección JUnit donde debe ingresar la ubicación del informe.

2. Dile a Jenkins que ejecute el transportador. Puedes hacerlo ejecutando grunt-transportador-corredor. Lo hice simplemente agregando ‘ejecutar comando de shell’ con el comando:
pruebas de transportador / e2e / conf.js

3. Esta es la parte genial. Puede tener en su página de proyecto en Jenkins un enlace “Informe HTML” que le muestra todas las pruebas aprobadas / reprobadas con capturas de pantalla y toda la información que necesita.
Para esto, instale protractor-html-screenshot-reporter, luego, incluya algo como esto en su archivo de configuración de Protractor:

  var HtmlReporter = require ('transportador-html-screenshot-reporter');
         jasmine.getEnv (). addReporter (nuevo HtmlReporter ({
             baseDirectory: 'e2e-reports / html-report'
         })); 

Ahora, en Jenkins, agregue un informe HTML y especifique la ruta (que en mi caso es e2e-reports / html-report).

No estoy seguro si Selenium Webdriver se le ocurrió la capacidad de probar DOM dinámico.
Consulte Probar aplicaciones de una sola página con Splinter y CasperJS para obtener más información al respecto. CasperJS es una muy buena herramienta hecha para probar aplicaciones de página única y es compatible con Jenkins.