angularjs - error - Ejecutar pruebas de transportador en Browserstack Automatizar
karma phantomjs launcher npm (4)
Estoy desarrollando una aplicación AngularJS y quiero hacer pruebas de extremo a extremo con Transportador. Me gustaría beneficiarme del conjunto de navegadores de prueba disponibles en Browserstack y ejecutar las pruebas en Browserstack Automate en lugar de un servidor local de Selenium.
¿Cómo configuro un sistema para ejecutar estas pruebas?
Acabamos de escribir una publicación de blog y módulos de código abierto para esto.
wt-transportador-repetidor wt-transportador-transportador wt-transportador-utils
El transportador de la versión 3.0.0 en adelante ha agregado compatibilidad incorporada para BrowserStack.
Simplemente necesita agregar los dos parámetros siguientes en su conf.js
para iniciar la prueba en BrowserStack:
browserstackUser: ''<username>''
browserstackKey: ''<automate-key>''
Su nombre de usuario y clave de automatización se pueden encontrar here , después de haber iniciado sesión en su cuenta.
Por lo tanto, supongamos que desea ejecutar su prueba en Chrome 50 / OS X Yosemite , su conf.js
debería verse más o menos así:
exports.config = {
specs: [''spec.js''],
browserstackUser: ''<username>'',
browserstackKey: ''<automate-key>'',
capabilities: {
browserName: ''Chrome'',
browser_version: ''50.0'',
os: ''OS X'',
os_version: ''Yosemite''
},
};
Si desea ejecutar pruebas en paralelo en diferentes combinaciones de navegador y sistema operativo , puede utilizar las multiCapabilities
como se indica a continuación:
exports.config = {
specs: [''spec.js''],
browserstackUser: ''<username>'',
browserstackKey: ''<automate-key>'',
multiCapabilities: [
{
browserName: ''Safari'',
browser_version: ''8.0'',
os: ''OS X'',
os_version: ''Yosemite''
},
{
browserName: ''Firefox'',
browser_version: ''30.0'',
os: ''Windows'',
os_version: ''7''
},
{
browserName: ''iPhone'',
platform: ''MAC'',
device: ''iPhone 5S''
}
]
};
Algunos enlaces útiles:
Generador de código : lo ayuda a configurar las capacidades para probar diferentes combinaciones de navegador y sistema operativo, especialmente dispositivos móviles.
Proyecto Github de muestra para Protractor-BrowserStack: esto debería ayudarlo a comenzar.
¡Hola! Para ejecutar solo la prueba contra Browserstack, es posible que deba saltear el Paso 4 de la respuesta de Niko Nyman, y en su conf.js debe tener algo como este que he usado (+ informe), luego ejecute el Paso 5 :
var HtmlReporter = require(''protractor-html-screenshot-reporter'');
var reporter=new HtmlReporter({
baseDirectory: ''./protractor-result'', // a location to store screen shots.
docTitle: ''Report Test Summary'',
docName: ''protractor-tests-report.html''
});
// An example configuration file.
exports.config = {
// The address of a running selenium server.
seleniumAddress: ''http://hub.browserstack.com/wd/hub'',
// Capabilities to be passed to the webdriver instance.
capabilities: {
''browserName'': ''chrome'',
''version'': ''22.0'',
''browserstack.user'' : ''user_name'',
''browserstack.key'' : ''user_key'',
''browserstack.debug'' : ''true''
},
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: [''./specs/home_page_spec.js''],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
},
onPrepare: function() {
jasmine.getEnv().addReporter(reporter);
}
};
NOTA: Estas instrucciones solo son relevantes para las versiones de transportador anteriores a v3.0. Protractor 3.0 incluye soporte integrado para Browserstack.
Requisitos previos
Tendrá que tener instalado node y npm . Verifique la versión de su nodo con node --version
para asegurarse de que sea mayor que v0.10.0.
Listo?
1. Instalar el transportador
Use npm para instalar Transportador de manera global con:
npm install -g protractor
Si obtiene errores, puede necesitar ejecutar el comando anterior como sudo.
Aquí hay un tutorial más detallado para instalar y usar Transportador .
2. Instalar Browserstack Selenium web driver
EDITAR: @elgalu señaló en los comentarios que este paso no es necesario. Aparentemente, el túnel BrowserStackLocal (configurado en el paso 4) es suficiente.
Siguiendo las instrucciones de Browserstack para configurar node.js , instale el controlador web de seleniun:
npm install -g browserstack-webdriver
3. Configure la configuración del transportador
Cree un archivo protractor.conf.js (consulte la documentación de las capacidades admitidas de BrowserStack ):
exports.config = {
capabilities: {
''browserstack.user'' : ''my_user_name'',
''browserstack.key'' : ''my_secret_key'',
// Needed for testing localhost
''browserstack.local'' : ''true'',
// Settings for the browser you want to test
// (check docs for difference between `browser` and `browserName`
''browser'' : ''Chrome'',
''browser_version'' : ''36.0'',
''os'' : ''OS X'',
''os_version'' : ''Mavericks'',
''resolution'' : ''1024x768''
},
// Browserstack''s selenium server address
seleniumAddress: ''http://hub.browserstack.com/wd/hub'',
// Pattern for finding test spec files
specs: [''test/**/*.spec.js'']
}
Cambie su nombre de usuario y clave secreta a los que figuran en la página Automatizar Browserstack. Si ha iniciado sesión en Browserstack, las instrucciones para configurar node.js le harán reemplazar el usuario y la clave en los ejemplos, y puede copiar y pegar el javascript desde allí.
La misma página también tiene una herramienta para generar el código para diferentes configuraciones de prueba del navegador.
4. Descargue y ejecute BrowserStackLocal
Descargue el binario BrowserStackLocal de la página de instrucciones de node.js.
Realice los siguientes cambios en el siguiente comando y ejecute el binario para abrir el túnel Browserstack requerido para la prueba.
- Cambia tu clave secreta en el comando. Nuevamente, your_secret_key se sustituirá automáticamente en la guía node.js, si ha iniciado sesión en Browserstack.
Cambie el número de puerto para que coincida con el puerto donde aloja sus archivos AngularJS en localhost. El ejemplo usa el puerto 3000.
./BrowserStackLocal your_secret_key localhost,3000,0
5. Ejecute las pruebas
Con todo listo para la prueba, ejecute sus pruebas:
protractor protractor.conf.js
Puede ver la ejecución de prueba en Browserstack Automate e incluso ver una actualización de la captura de pantalla en vivo del navegador de prueba.