Soy nuevo en la escena de la automatización de pruebas, así que discúlpeme si esta es una pregunta estúpida, pero Google me ha fallado esta vez. O al menos todo lo que he leído me ha confundido más.¿Hay un equivalente de testNG's @BeforeSuite en JUnit 4?
Estoy usando JUnit 4 y Selenium Webdriver dentro de Eclipse. Tengo varias pruebas que necesito ejecutar como suite y también de forma individual. Por el momento, estas pruebas funcionan bien cuando se ejecutan por su cuenta. Al comienzo de la prueba, se presenta un cuadro de entrada al probador/usuario que pregunta primero en qué servidor desea probar (esta es una variable de cadena que se convierte en parte de una URL) y con qué explorador desea probar. En el momento en que se ejecutan las pruebas en una suite, se le pregunta al usuario al comienzo de cada prueba, porque obviamente esto está codificado en cada uno de sus métodos @Before.
¿Cómo tomo estos valores una vez y los paso a cada uno de los métodos de prueba?
Entonces si server = "server1" y browser = "firefox" entonces firefox es el navegador que quiero que use el selenio y la URL que quiero que se abra es http://server1.blah.com/ para todos los siguientes métodos de prueba. La razón por la que he estado usando los métodos @Before separados es porque la URL requerida es ligeramente diferente para cada método de prueba. es decir, cada método prueba una página diferente, como server1.blah.com/something y server1.blah.com/somethingElse
Las pruebas funcionan bien, simplemente no quiero seguir ingresando los valores porque el número de pruebas los métodos eventualmente serán silenciosamente grandes.
También podría convertir mis pruebas a testNG si hay una forma más fácil de hacerlo en testNG. Pensé que la anotación @BeforeSuite podría funcionar, pero ahora no estoy seguro.
Cualquier sugerencias y críticas (el tipo constructivo) se aprecia mucho
Gracias Matthew, eso ayuda. Sin embargo, me temo que voy a tener que hacerte algunas preguntas terribles sobre novatos :(Primero la línea
this(builder, klass, getAnnotatedClasses(klass));
no funciona porque getAnnotatedClasses (Clase >) no está visible. Segundo, no estoy seguro de dónde definir getUrlFromUser() .. ... Me doy cuenta de que puedo estar un poco sobre mi cabeza y le agradecería mucho su paciencia :) – user1088166Usted dijo en su pregunta 'Un cuadro de entrada se presenta al usuario' Esto sería getUrlFromUser, no lo hace realmente importa dónde está, pero en MySuite probablemente sería un buen lugar. En cuanto a esto (...) ¿qué versión de JUnit estás usando? –
Ok, te estoy siguiendo ahora. Estoy usando JUnit 4. Esto puede no ser relevante, pero inicialmente creé los casos de prueba usando el IDE de selenio y luego los exporté como casos de prueba JUnit 4 (WebDriver) para trabajar con ellos en eclipse. – user1088166