Pregunta

Tengo el siguiente escenario de Gherkin:

Scenario: User Login
    Given a user account exists the email "james.smith@somesite.com" and password "surprise"
    And I am on the login page
    When I fill in the following:
      | email | james.smith@somesite.com |
      | password | surprise |
    And I press "Submit"
    Then....

La segunda línea pasa la dirección de correo electrónico y la contraseña a una definición de paso que a su vez transmite estos detalles a una fábrica de fábrica.

Básicamente, no estoy seguro de cómo eliminar esta duplicación de datos de este escenario, pensé en usar tablas pero no puedo ver cómo esto ayudaría, ¿alguien tiene alguna idea sobre cómo hacer esto? ¡Gracias por adelantado!

¿Fue útil?

Solución

Puede usar una tabla tipo FIT para sus campos de correo electrónico y contraseña, como lo usan en el ejemplo de https://github.com/cucumber/cucumber/blob/master/examples/i18n/en/features/addition.feature

Scenario Outline: User Login
    Given my account exists with email <email> and password <password>
    And I am on the login page
    When I fill the email <email>
    And I fill the password <password>
    And I press "Submit"
    Then ...

Examples:
    | email        | password |
    | john@doe.com | surprise |

Otros consejos

El patrón que usamos es para abstracto de detalles que son comunes en varios escenarios ...

Given my user exists
And I am on the login page
When I login with my credentials
Then I should .... 

Luego tenemos un archivo YAML con valores predeterminados como nombre de usuario válido, contraseña válida, contraseña no válida ... nuestros pasos llaman a este archivo.

La otra respuesta es mejor si desea probar muchos ejemplos, creo que la nuestra funciona donde desea iniciar sesión con frecuencia, pero no siempre especificar cosas "aburridas" en cada escenario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top