tutorial español selenium-webdriver cucumber testng cucumber-jvm cucumber-java

selenium-webdriver - español - cucumber testing



Lectura de valores de parámetros del archivo Testng.xml en pepino stepdefs (1)

Puedo ejecutar scripts testng al integrarme con pepino. He seguido los pasos exactos definidos en http://automatictester.co.uk/2015/06/11/basic-cucumberjvm-selenium-webdriver-test-automation-framework/ link.

Ahora tengo un requisito más. ¿Puede explicarme cómo leer los valores de la etiqueta de parámetros de testng.xml? Vea el siguiente ejemplo:

<test name="ascentis.LoginDemo.Firefox"> <parameter name="BrowserName" value="Firefox" /> <parameter name="Environment" value="local" /> <packages> <package name="runnerFiles.*"/> </packages> </test>

Debo leer los valores de BrowserName y del entorno de la etiqueta de parámetros. Intenté usar @parameters para el método @Before de pepino, pero no funcionó y me dio la excepción de que @Before hook solo acepta un parámetro del escenario de tipo. ¿Puede explicarme cómo leer los valores de la etiqueta de parámetros para acceder en stepDefinations of pepino.


Bueno, no estoy seguro si la parametrización de las pruebas de CucumberJVM en el nivel testng.xml es lo que realmente está buscando. Sin embargo, si realmente necesita leer los parámetros del archivo testng.xml en su framework CucumberJVM, aquí hay una solución (sucia) para usted:

  • haga que DownloadFeatureRunner extienda CustomRunner en lugar de AbstractTestNGCucumberTests
  • incluye el parámetro en tu archivo testng.xml : <parameter name="someParam" value="someValue"/>
  • y también implementar su nueva clase de padres:

    public class CustomRunner implements IHookable { public CustomRunner() { } @Parameters("someParam") @Test( groups = {"cucumber"}, description = "Runs Cucumber Features" ) public void run_cukes(String someParam) throws IOException { System.out.println(someParam); (new TestNGCucumberRunner(this.getClass())).runCukes(); } public void run(IHookCallBack iHookCallBack, ITestResult iTestResult) { iHookCallBack.runTestMethod(iTestResult); } }

Como puede ver, puede acceder al valor del parámetro. Depende de ti lo que quieras hacer ahora.