Je suis nouveau à jmeter & Je suis à la recherche d'une option pour comparer deux fichiers en utilisant Jmeter. Les deux fichiers sont générés en utilisant Save Response to file
dans jmeter. Les deux fichiers contiennent également une réponse à une requête jdbc, avec 100s de valeurs sur plusieurs colonnes & lignes. J'utilise la fonction __FileToString()
dans mon assertion de réponse pour comparer les deux fichiers. Mais cela échoue si mon fichier contient des données avec des caractères spéciaux. Des conseils comment pourrais-je gérer cela? OU tout autre moyen de comparer deux fichiers créés par Jmeter? Je voudrais également connaître les enregistrements qui sont différents dans les deux fichiers. Je sais que les fichiers peuvent être comparés en utilisant beaucoup d'autres outils, mais je voudrais vraiment faire cela en utilisant Jmeter s'il vous plaît. Je vous remercie!Jmeter-fichier comparer
Répondre
Vous pouvez le faire par exemple en utilisant JSR223 Sampler, Groovy language et code comme:
def file1 = new File('/path/to/file1')
def file2 = new File('/path/to/file2')
def file1Lines = file1.readLines('UTF-8')
def file2Lines = file2.readLines('UTF-8')
if (file1Lines.size() != file2Lines.size()) {
SampleResult.setSussessful(false)
SampleResult.setResponseMessage('Files size is different, omitting line-by-line compare')
} else {
def differences = new StringBuilder()
file1Lines.eachWithIndex { String file1Line, int number ->
String file2Line = file2Lines.get(number)
if (!file1Line.equals(file2Line)) {
differences.append('Difference # ').append(number).append('. Expected: ')
.append(file1Line).append('. Actual: ' + file2Line)
differences.append(System.getProperty('line.separator'))
}
}
if (differences.toString().length() > 0) {
SampleResult.setSuccessful(false)
SampleResult.setResponseMessage(differences.toString())
}
}
En cas de différences l'échantillonneur sera échoué et vous verrez les informations sur « deltas » dans le « Message de réponse "section:
Références:
Merci Dmitri pour votre réponse, mais ce code donne ci-dessous error - groovy.lang.MissingMethodException: Aucune signature de méthode: static org.apache.jmeter.samplers.SampleResult.setSussessful() est applicable pour les types d'argument: (java.lang.Boolean) valeurs: [false] Solutions possibles: setSuccessful (booléen). J'ai essayé de trouver la cause mais je n'ai rien pu obtenir. Pouvez-vous aider? Merci! – Preeti
Vous devez modifier pour ajouter le tag « jmeter » afin que les utilisateurs suivants l'étiquette verront votre message – jhhoff02