Actualmente estoy usando Jmeter para automatizar este proceso, sin embargo, no puedo automatizar el proceso de inicio de sesión. He usado la siguiente expresión regular para extraer el __RequestVerificationToken <input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=/\-\_]+?)">

enter image description here

Luego procedo a solicitar el token cuando intento iniciar sesión

Sin embargo, al ejecutar la prueba recibo el código de respuesta 500. Al investigar los datos de la solicitud, el token no se extrae correctamente

enter image description here

2
Jfegan91 18 oct. 2017 a las 13:32

3 respuestas

La mejor respuesta

Recuerde no usar expresiones regulares para analizar datos HTML. Es un verdadero dolor de cabeza desarrollar y mantener expresiones regulares relacionadas con el código HTML, además, las expresiones regulares son muy sensibles a cualquier cambio de marcado (salto de línea, espacio adicional, cambio de orden de atributos, etc.), por lo que recomendaría considerar cambiar a CSS / JQuery Extractor en su lugar. La configuración relevante será tan simple como:

  • Nombre de referencia: cualquier cosa significativa, tok estará bien
  • Expresión CSS / JQuery: input[name=__RequestVerificationToken]
  • Atributo: value

De esta manera, tendrá una forma sólida y confiable de extraer el valor __RequestVerificationToken.

Demo:

JMeter CSS Jquery Extractor

Consulte Cómo usar el CSS / JQuery Extractor en JMeter artículo para más información.

1
Dmitri T 18 oct. 2017 a las 10:59

A su expresión regular le faltaba un carácter de escape:

<input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=\/\-\_]+)">

Puede consultar regex

0
user7294900 18 oct. 2017 a las 10:34

Has usado

Reference Name: tok

Y de la captura de pantalla 2 es claramente visible que

__RequestVerificationToken=%20%7Btok%7D

Entonces, supongo que ha almacenado el valor en la variable tok pero ha usado la variable literalmente. Debe usar ${tok} para reemplazar el valor almacenado en la Referencia.

0
Adnan 18 oct. 2017 a las 10:42