¿Cómo ejecuto solo Test 3 de las siguientes pruebas?

module.exports = {
  'Test 1':function(){},
  'Test 2':function(){}
  'Test 3':function(){}
}
42
Mohamed El Mahallawy 4 feb. 2015 a las 00:21

6 respuestas

La mejor respuesta

Se ha agregado un nuevo parámetro --testcase para ejecutar un caso de prueba específico.

nightwatch.js --test tests\demo.js --testcase "Test 1"

Es una característica nueva desde la v0.6.0

https://github.com/beatfactor/nightwatch/releases/tag/v0.6.0

73
Nicolas Pennec 17 abr. 2015 a las 14:48

La marca --testcase puede usarse desde la versión 0.6 para ejecutar una única prueba desde la línea de comandos, p. Ej.

nightwatch.js --test tests\demo.js --testcase "Test 1"

Esto se puede hacer usando grupos de prueba o etiquetas de prueba. También puede ejecutar una única prueba con la marca --test, p. Ej.

nightwatch.js --test tests\demo.js
8
Daniel Wärnå 20 abr. 2017 a las 14:22

Otra forma posible de hacerlo sería utilizar lo siguiente en cada caso de prueba que desee omitir:

'@disabled': true,

Esto puede simplemente establecerse en falso o eliminarse si desea probarlo.

0
DoN_Dan 21 jun. 2017 a las 16:15

Puedes hacer algo como:

node nightwatch.js -e chrome --test tests/login_test --testcase tc_001
0
Kai 10 ago. 2015 a las 21:36

Para mí, solo funciona con:

npm run test -- tests/01_login.js --testcase "Should login into Dashboard"

npm run <script> -- <test suite path> --testcase "<test case>"

Mi script en package.json:

"test": "env-cmd -f ./.env nightwatch --retries 2 --env selenium.chrome",

En nightwatch versión 1.3.4

También puede utilizar etiquetas:

npm run <script> -- <enviroment> <tag>
npm run test -- --env chrome --tag login

Simplemente agréguelo a su caso de prueba:

module.exports = {
  '@tags': ['login', 'sanity', 'zero1'],
...
}
1
Daniel M. 30 abr. 2020 a las 23:39

Debe usar etiquetas específicas antes de la función y separar todas las funciones en diferentes archivos en el directorio de pruebas, y luego llamar al comando con el argumento --tag . Consulta la página de etiquetas wiki nightwatch y mira este ejemplo:

// --- file1.js ---
module.exports = {
    tags: ['login'],
    'Test 1':function(){
        //TODO test 1
    }
};

// --- file2.js ---
module.exports = {
    tags: ['special', 'createUser'],
    'Test 2':function(){
        //TODO test 2
    },
};

// --- file3.js ---
module.exports = {
    tags: ['logoff', 'special'],
    'Test 3':function(){
        //TODO test 3
    },
}

Si tu corres:

nightwatch.js --tag login

Solo ejecuta la Prueba 1 , sin embargo, si ejecuta:

nightwatch.js --tag special

Se ejecutarán la Prueba 2 y la Prueba 3 .

Puede especificar más de una etiqueta

nightwatch.js --tag tag1 --tag tag2

Es obligatorio separar cada función de prueba porque Nightwatch maneja con filematcher cada archivo. Consulte el código de Github.

PD : si el archivo tiene errores de sintaxis, es posible que la prueba no se ejecute o que no se haya encontrado la prueba.

10
albertoiNET 24 feb. 2015 a las 16:53