Question

Voici ma situation:

je veux faire ceci:

J'ai une liste d'URL dans une base de données MySQL que je souhaite appuyer sur une requête HTTP pour voir si la réponse est un code d'état HTTP de 404 ou non.

je l'ai fait:

  1. a ajouté et configuré un élément de configuration JDBC.
  2. a ajouté et configuré un échantillonneur de demande JDBC. Fondamentalement, une instruction SELECT qui renvoie une table avec 8 colonnes. J'ai fourni 8 variables séparées par des virgules pour le champ "Noms de variable", de sorte que les résultats de la demande JDBC puissent être identifiés avec ces noms de variable.
  3. a créé un échantillonneur de demande HTTP qui utilise l'une de ces variables $ {URL} dans le champ "Nom du serveur ou IP".
  4. Bien que la demande JDBC fonctionne parfaitement et renvoie une table avec un tas de lignes, le problème avec celui-ci est que l'échantillonneur de demande HTTP ne reprendra jamais la variable du résultat de la demande JDBC. La demande HTTP ressemble à ceci dans l'arborescence des résultats de la vue:

    GET http://${url}/
    

    J'ai essayé ces solutions:

    1. Ajouter 'Enregistrer les réponses à un fichier d'auditeur de fichier à la demande JDBC. Cela crée un fichier de type '.plain' et non un CSV. Si c'était une CSV, j'aurais pu utiliser ce fichier CSV en créant une configuration de fichier de données CSV. Donc, cette tentative a échoué.
    2. J'ai essayé de forcer le nom de fichier dans la tentative ci-dessus d'utiliser toujours 'c: \ jmetertest \ data.csv'. Mais cela finit par créer un nouveau fichier nommé 'C: \ JmeterTest \ data.csv1.plain'. Cette tentative a également échoué.
    3. J'ai essayé de référencer la colonne URL comme $ {URL_1} dans le champ Nom du serveur de la requête HTTP. Ça a marché. Mais le problème est maintenant que dans l'arborescence des résultats, toutes les demandes vont pour l'URL à partir de la seule ligne de la première ligne du jeu de résultats. Je vois que ceci est dû au numéro de ligne '_1' spécifié dans le $ {URL_1} ci-dessus. Je peux l'utiliser si quelqu'un peut suggérer un moyen de paramétrer le «_1» dans une variable que je peux boucler (probablement à l'aide d'un «compteur»). J'ai créé un élément de compteur de configuration par le nom de référence 'Loopcounter'. Et utilisé cela dans le champ Nom du serveur de la requête HTTP:

      $ {URL _ ("$ {loopcounter}")}

    4. Mais maintenant, mes demandes http look lamer:

      GET http://${url_("${loopCounter}")}/
      

      Cela n'a pas fonctionné aussi.

      solution 3 semble plus faisable pour être seulement si je pouvais résoudre le paramétrage du numéro de ligne. Je suis ouvert aux suggestions de JMeter Plugin aussi. Je vais mettre à jour tout ce que j'essaie de continuer.

      p. S'il vous plaît laissez-moi savoir si ma question n'est pas claire dans de toute façon.

Était-ce utile?

La solution

Avez-vous essayé d'envelopper l'échantillonneur HTTP dans un contrôleur foreach (parent) où la variable du contrôleur est la variable d'URL obtenue à partir de l'échantillonneur JDBC?

En outre, la variable de sortie dans le forach sera la variable que vous utilisez maintenant dans l'échantillonneur HTTP.

De cette façon, il ira à travers chaque variable du début de l'index à la fin et exécutez l'échantillonneur une fois à chaque fois.

Autres conseils

Dans 'Enregistrer les réponses à un fichier d'écoute d'un fichier', sélectionnez Cocher cases "N'ajoutez pas de suffixe et préfixe".Vérification de ces deux options garantira, vous obtenez un nom de fichier journal exact.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top