Usé la función de conjunto de Karate para cambiar los valores en las claves usando la expresión JSON. Lo usé principalmente para cambiar el contenido de la solicitud en función de los escenarios de prueba. Esto me dio la capacidad de evitar leer muchos datos de prueba de archivos csv. Sin embargo, todavía en algunas situaciones, prefiero usar csv.

Por ejemplo, tengo alrededor de 230 escenarios de prueba como solicitudes de publicación y tengo 130 información de cliente diferente que necesito usar en los 230 casos de prueba según el contexto. La información del cliente incluye nombre, apellidos, edad, dirección, etc. Sin embargo, el esquema es el mismo. Si necesito usar algo como motores de plantillas geniales, ¿cuál será el mejor enfoque para usar en Karate?

Necesito mantener estos datos en un csv, leerlos y pasar los valores a una plantilla JSON antes de lanzar la solicitud. Todavía necesito confiar en fuentes csv / externas porque estos datos se vuelven obsoletos con mucha frecuencia y necesito cambiarlos con frecuencia. ¿Podría compartir sus pensamientos sobre esto?

1
Sree 13 nov. 2017 a las 21:53

2 respuestas

La mejor respuesta
  1. Con un enfoque similar a este ejemplo (JDBC), debería poder escribir un convertidor de CSV a JSON en menos de una hora: dogs.feature

  2. En mi opinión, una vez que se acostumbre a table o set sintaxis múltiple, es mucho mejor que CSV-s ya que es más legible. Puede utilizar call y cargar los datos desde un segundo archivo de características que solo contiene los datos.

  3. Personalmente, recomendaría usar una matriz JSON en lugar de CSV. Hay muchas herramientas que le permiten editar JSON. Y es muy fácil read JSON en Karate y usarlo para pruebas basadas en datos. Incluso puede combinar set o table, eche un vistazo a esto para obtener ideas: dynamic-params.feature

  4. Supongo que conoce las plantillas JSON integradas en Karate: expresiones integradas - y debería ver los ejemplos extensos de casos de prueba aquí: js-arrays.feature

Asegúrese de leer los ejemplos de demostración.

2
Peter Thomas 13 nov. 2017 a las 19:40

Estoy de acuerdo con su enfoque. También creo que es mejor leer datos de la matriz JSON o usar la capacidad de la tabla. Estoy trabajando en eso ahora. Trabajo en una premisa que tiene muchas restricciones de acceso. Le informo al equipo sobre sus respuestas. Vigilamos estas cuestiones. Sin embargo, no puedo iniciar sesión para apilar el desbordamiento de la oficina. Así que me retrasé para responder a esto. Perdón por el retraso.

Ahora estoy haciendo principalmente I + D para encontrar una solución para probar servicios web que se puedan integrar con las validaciones de webdriver + DB. Antes decidimos ir con la tranquilidad. Después de usar el karate definitivamente hemos cambiado de opinión. Uno de nuestros amigos que trabaja en ThoughtWorks sugirió sobre el karate y llegamos a conocerlo.

Estamos realmente impresionados con su capacidad y también muy felices de ver que las preguntas publicadas en el desbordamiento de pila se responden tan rápidamente. Esto nos da más confianza para usar Karate. Sugeriría que el karate necesita un sitio web individual como estar seguro.

1
Sree 15 nov. 2017 a las 04:33