En supposant que vos liens proviennent de Extracteur d'expression régulière, vous devriez avoir quelque chose comme:
LINK=http://foo.bar
LINK_1=http://foo.bar
LINK_2=http://example.com
LINK_3=http://example.com
LINK_matchNr=3
JMeter ne fournit pas un élément d'essai approprié pour éliminer les doublons dans de telles situations, mais vous pouvez encore travailler autour via certains scripts.
Afin de le faire
- Ajouter un Beanshell PostProcessoraprès votre expression régulière Extractor
Mettez le code suivant dans la zone "Script" du PostProcessor:
int matches = Integer.parseInt(vars.get("LINK_matchNr"));
Set links = new HashSet();
for (int i = 1; i <= matches; i++) {
links.add(vars.get("LINK_" + i));
vars.remove("LINK_" + i);
}
int counter = 1;
for (String link : links) {
vars.put("LINK_" + counter, link);
counter++;
}
Votre plan de test devrait donc ressembler à ceci:
Code Beanshell dans le PostProcessor
- itère à travers toutes les variables JMeter commençant par
LINK_
- stocke leurs valeurs dans Java HashSet qui ne peut pas contenir des valeurs en double car il est basé sur le hachage. Donc, toutes les variables en double seront ignorés silencieusement
- supprime des variables car ils sont itéré
- construit de nouvelles variables de HashSet
Donc finalement vous aurez variables JMeter dans leur forme initiale, mais sans doublons.
Important: code Beanshell ci-dessus suppose que vous utilisez LINK
comme « Nom de référence » dans votre extracteur d'expression régulière, assurez-vous que vous changiez à LINK
il ou mettre à jour le code Beanshell pour correspondre à votre Nom Référence
Pour plus d'informations sur les scripts Beanshell dans Apache JMeter, reportez-vous au guide How to use BeanShell: JMeter's favorite built-in component.