c# - tutorial - selenium ide
¿Alguien ha encontrado una forma de ejecutar las pruebas RC C Selenium en paralelo? (3)
No sé si ninguna respuesta cuenta como respuesta, pero diría que ha investigado todo y que realmente se le ocurrieron las 2 posibles soluciones ...
- Test Suite ejecuta pruebas en paralelo
- Divida la suite de prueba
Estoy perdido para cualquier otra cosa.
¿Alguien ha encontrado una forma de ejecutar las pruebas Selenium RC / Selenium Grid, escritas en C # en paralelo?
Actualmente tengo un conjunto de pruebas considerable escrito utilizando el controlador C # de Selenium RC. Ejecutar todo el conjunto de pruebas toma un poco más de una hora en completarse. Normalmente no tengo que ejecutar todo el paquete, por lo que no ha sido una preocupación hasta ahora, pero es algo que me gustaría poder hacer más regularmente (es decir, como parte de una compilación automatizada)
Hace poco estuve estudiando el proyecto Selenium Grid, cuyo objetivo es permitir que esas pruebas se ejecuten en paralelo. Desafortunadamente, parece que el plugin TestDriven.net que estoy usando ejecuta las pruebas en serie (es decir, una después de otra). Supongo que NUnit ejecutará las pruebas de manera similar, aunque en realidad no lo he probado.
Me he dado cuenta de que las betas NUnit 2.5 están empezando a hablar sobre ejecutar pruebas en paralelo con pNUnit, pero realmente no me he familiarizado lo suficiente con el proyecto como para saber con certeza si esto funcionará.
Otra opción que estoy considerando es separar mi suite de pruebas en diferentes bibliotecas que me permitirían ejecutar una prueba de cada biblioteca al mismo tiempo, pero me gustaría evitar eso si es posible ya que no estoy seguro de que esta sea una razón válida para dividirnos el banco de pruebas
Escribí PNUnit como una extensión para NUnit hace casi tres años y estoy feliz de ver que finalmente se integró en NUnit.
Lo usamos a diario para probar nuestro software en diferentes distros y combinaciones. Solo para dar un ejemplo: tenemos un conjunto de pruebas pesadas (largas) con aproximadamente 210 pruebas. Cada uno de ellos configura un servidor y ejecuta un cliente en línea de comandos ejecutando varias operaciones (hasta 210 escenarios).
Bueno, usamos la misma suite para ejecutar las pruebas en diferentes combinaciones de Linux y variaciones de Windows, y también combinaciones como un servidor de Windows con un cliente de Linux, Windows XP, Vista, luego controlador de dominio, fuera de dominio, y así sucesivamente. Usamos los mismos binarios y luego simplemente lanzamos "agentes" en varias cajas.
Usamos la misma plataforma para: equilibrar la carga de prueba de carga -> Quiero decir, correr en trozos más rápido. Ejecutar varias combinaciones al mismo tiempo, y lo que creo que es más interesante: definir escenarios de múltiples clientes: dos clientes esperan que el servidor se inicie, luego inician operaciones, se sincronizan entre sí y así sucesivamente. También usamos PNUnit para pruebas de carga (cientos de cajas contra un solo servidor).
Por lo tanto, si tiene alguna pregunta sobre cómo configurarlo (lo que no es simple todavía, me temo), no dude en preguntar.
También escribí un artículo hace mucho tiempo sobre esto en DDJ: http://www.ddj.com/architect/193104810
Espero eso ayude
Estoy trabajando en esto mismo y he descubierto que Gallio puede realizar pruebas de mbUnit en paralelo. Puede conducirlos contra un único concentrador de Selenium Grid , que puede tener varios servidores de control remoto escuchando.
Estoy usando la última versión nocturna de Gallio para obtener ParallelizableAttribute y DegreeOfParallelismAttribute .
Algo que noté es que no puedo confiar en TestSet
y TestTeardown
aislar las pruebas paralelas. Necesitarás que la prueba se vea así:
[Test] public void Foo(){
var s = new DefaultSelenium("http://grid", 4444, "*firefox",
"http://server-under-test");
s.Start();
s.Open("mypage.aspx");
// Continue
s.Stop();
}
El uso del atributo [SetUp]
para iniciar la sesión de Selenium hacía que las pruebas no obtuvieran la sesión remota desde el s.Start()
.