2017-09-29 2 views
0

Je suis un peu nouveau à Jmeter (3.1) mais j'ai une grande tâche à accomplir avec elle.xml réponse avec des caractères unescape dans jmeter 3.1

J'ai configuré jmeter pour atteindre 1 million de requêtes http et tout est très bien

la réponse xml que je reçois dans le fichier journal est avec des caractères d'échappement, mais ce que je veux que le fichier journal doivent être enregistrés avec des caractères unescape ,

<httpSample ng="41" na="41"> <responseData class="java.lang.String">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;methodResponse&gt;&lt;params&gt;&lt;param&gt;&lt;value&gt;&lt;struct&gt;&lt;member&gt;&lt;name&gt;avail ableServerCapabilities&lt;/name&gt;&lt;value&gt;&lt;array&gt;&lt;data&gt;&lt;value&gt;&lt;i4&gt;536871488&lt;/i4&gt;&lt;/value&gt;&lt;value&gt;&lt;i4&gt;8&lt;/i4&gt;&lt;/value&gt;&lt;/data&gt;&lt;/array&gt;&lt;/v alue&gt;&lt;/member&gt;&lt;member&gt;&lt;name&gt;negotiatedCapabilities&lt;/name&gt;&lt;value&gt;&lt;array&gt;&lt;data&gt;&lt;value&gt;&lt;i4&gt;0&lt;/i4&gt;&lt;/value&gt;&lt;/data&gt;&lt;/array&gt;&lt;/value&gt; &lt;/member&gt;&lt;member&gt;&lt;name&gt;originTransactionID&lt;/name&gt;&lt;value&gt;&lt;string&gt;1606456&lt;/string&gt;&lt;/value&gt;&lt;/member&gt;&lt;member&gt;&lt;name&gt;responseCode&lt;/name&gt;&lt;value& gt;&lt;i4&gt;139&lt;/i4&gt;&lt;/value&gt;&lt;/member&gt;&lt;/struct&gt;&lt;/value&gt;&lt;/param&gt;&lt;/params&gt;&lt;/methodResponse&gt;</responseData> </httpSample> 

ce que je veux est

<methodResponse><params><param><value><struct><member><name>availableServerCapabilities</name><value><array><data><value><i4>536871488</i4></value><value><i4>8</i4></value></data></array></value></member><member><name>currency1</name><value><string>TZS</string></value></member><member><name>dedicatedAccountDeleteInformation</name><value><array><data><value><struct><member><name>dedicatedAccountID</name><value><i4>1402</i4></value></member><member><name>dedicatedAccountUnitType</name><value><i4>6</i4></value></member><member><name>dedicatedAccountValue1</name><value><string>5368535040</string></value></member><member><name>expiryDate</name><value><dateTime.iso8601>99991231T12:00:00+0000</dateTime.iso8601></value></member><member><name>startDate</name><value><dateTime.iso8601>00000101T12:00:00+0000</dateTime.iso8601></value></member></struct></value></data></array></value></member><member><name>negotiatedCapabilities</name><value><array><data><value><i4>0</i4></value></data></array></value></member><member><name>originTransactionID</name><value><string>1606684</string></value></member><member><name>responseCode</name><value><i4>0</i4></value></member></struct></value></param></params></methodResponse> 

Aidez s'il vous plaît! À propos, comment puis-je sauvegarder originTransactionID et responseCode dans un fichier csv.

S'il vous plaît jeter un peu de lumière sur ce

Répondre

1

Vous ne pouvez pas enregistrer la réponse XML "tout comme" les 5 caractères suivants doit être échappé dans des fichiers XML:

  1. "
  2. '
  3. <
  4. >
  5. &

Donc, si vous avez besoin que originTransactionID et responseCode être enregistré, vous pouvez prendre les étapes suivantes:

  1. Ajouter XPath Extractor comme un enfant de la demande qui renvoie le XML ci-dessus
  2. Configurer comme suit:

    • Référence: originTransactionID
    • requête XPath: //member/name[text()='originTransactionID']/../value/string/text()
  3. Ajouter un autre XPath Extractor et le configurer comme:

    • Nom Référence: responseCode
    • requête XPath: //member/name[text()='responseCode']/../value/i4/text()
  4. Ajouter la prochaine lignes à user.properties fichier (vit dans « bin » dossier de votre installation JMeter)

    jmeter.save.saveservice.output_format=csv 
    sample_variables=originTransactionID,responseCode 
    
  5. Lorsque vous exécutez votre test prochaine fois que vous verrez 2 colonnes supplémentaires dans.fichier de résultats JTL, ils détiendront originTransactionID et responseCode valeurs pour chacune des demandes

Références:

+0

Quand vous dites ces 5 caractères besoin d'être échappé, cela signifie-t-il que j'ai besoin d'écrire un autre script t o convertir ceux qui n'ont pas échappé à s'échapper? Après avoir fait une recherche google, la plupart d'entre eux recommandent un script en python ou perl. En passant, merci beaucoup pour votre suggestion concernant l'extracteur xpath – Hari