es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Añadiendo keyStore y trustStore a las solicitudes de Gatling

He estado realizando pruebas de rendimiento utilizando Gatling y ahora necesito encontrar una forma de agregar keyStore y trustStore a mis solicitudes. Me preguntaba si eso es algo que puedo agregar en el HttpProtocolBuilder o si debo tomar un enfoque ligeramente diferente.

Básicamente, ¿existe un equivalente en Gatling a los siguientes comandos de RestAssured?

dado()
        .keyStore("src/test/resources/fooKeyStore.jks","fooPassword")
        .trustStore("src/test/resources/fooTrustStore.jks","fooPassword")
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible añadir keyStore y trustStore a tus solicitudes en Gatling utilizando la clase HttpProtocolBuilder. Puedes agregar las siguientes líneas de código para configurar tu keyStore y trustStore:

    import io.gatling.http.protocol.HttpProtocolBuilder
    import java.io.FileInputStream
    import java.security.KeyStore
    
    val keyStore = KeyStore.getInstance(KeyStore.getDefaultType)
    val ksFile = System.getProperty("user.dir") + "/src/test/resources/fooKeyStore.jks"
    keyStore.load(new FileInputStream(ksFile), "fooPassword".toCharArray)
    
    val trustStore = KeyStore.getInstance(KeyStore.getDefaultType)
    val tsFile = System.getProperty("user.dir") + "/src/test/resources/fooTrustStore.jks"
    trustStore.load(new FileInputStream(tsFile), "fooPassword".toCharArray)
    
    val httpConf: HttpProtocolBuilder = http
      .keyStore(keyStore)
      .trustStore(trustStore)
    

    Necesitarás ajustar las rutas de archivo para que coincidan con la ubicación de tus archivos keyStore y trustStore. Una vez que hayas definido el objeto httpConf con la configuración deseada, puedes pasarlo a tus solicitudes utilizando el método via, de la siguiente manera:

    val scn = scenario("MiEscenario")
      .exec(
        http("MiSolicitud")
          .get("https://example.com")
          .via(httpConf)
      )
    

    Esto asegurará que tus solicitudes utilicen el keyStore y trustStore especificado al realizar solicitudes HTTPS.

Comments are closed.