2017-07-21 10 views
0

Réponse JSON contient terrain: « scheduledTimestamp »: « 2017-07-23T18: 02: 37.000Z »Comment vérifier qu'une partie de la valeur Réponse JSON dans jmeter

Ce que je dois faire est d'affirmer quelque chose comme:

Verify $.data.scheduledTimestamp contains "2017-07-23T18:02:37" 

(ignorer la valeur millisecondes)

J'ai essayé Réponse assertion comme:

Text Response - checked 
Contains - checked 
Pattern To Test - "scheduledTimestamp":"${con_res_date}(.+?)" 

con_res_date = 2017-07-23T18:02:37

Mais l'assertion a quand même échoué.

+0

Est-ce que vous avez essayé scheduledTimestamp ":" $ {} con_res_date? – user7294900

Répondre

0

Comme par How to Use JMeter Assertions in Three Easy Steps:

Le motif peut être soit être:

  • une « chaîne » pour « Égal » ou « sous-chaîne » clauses
  • un « style Perl5 » Regular Expression pour les clauses «Contient» ou «Correspondances»

Vous avez donc besoin de modifier votre configuration Response Assertion comme suit:

  • Motif: règles de correspondance Substring
  • Modèles à tester: scheduledTimestamp":"${con_res_date}
+0

sa ne fonctionne pas –

+0

je dois vérifier que l'horodatage de calendrier est-ce ainsi que d'ignorer la valeur des millisecondes en leur sein –

+0

Je l'ai fait par Mentionnés ci-dessous les étapes: 1. Ajouter un JSR223 Assertion au lieu de la réponse Assertion 2. Dans JSR223 Assertion , à condition que cette ligne de codes 'import groovy.json. *; def réponse = prev.getResponseDataAsString(); def json = nouveau JsonSlurper(). ParseText (réponse); assert json.data.scheduledTimestamp.startsWith ("$ {con_res_date}") ' –