Domanda

Ecco la mia situazione:

Voglio farlo:

Ho un elenco di URL in un database MySQL che voglio colpire utilizzando una richiesta HTTP per vedere se la risposta è un codice di stato HTTP di 404 o meno.

Ho fatto questo:

    .
  1. ha aggiunto e configurato un elemento di configurazione JDBC.
  2. Aggiunto e configurato un campionatore di richiesta JDBC. Fondamentalmente un'istruzione Select che restituisce una tabella con 8 colonne. Ho fornito 8 variabili separate da virgola per il campo "Nomi variabili", in modo che i risultati della richiesta JDBC possano essere identificati con questi nomi di variabili.
  3. ha creato un campionatore di richiesta HTTP che utilizza una delle variabili $ {URL} nel campo 'Nome server o IP'.
  4. Anche se la richiesta JDBC funziona in modo impeccabile e restituisce una tabella con un sacco di righe, il problema con questo è che il campionatore della richiesta HTTP non raccoglie mai la variabile dal risultato della richiesta JDBC. La richiesta HTTP è simile a questa nel 'View Risultati Tree':

    GET http://${url}/
    
    .

    Ho provato queste soluzioni:

      .
    1. Aggiungi 'salva risposte a un file' listener alla richiesta JDBC. Questo crea un file di tipo '.plain' e non un CSV. Era stato un CSV, avrei potuto utilizzare quel file CSV creando un set di dati CSV Set Config. Quindi questo tentativo fallì.
    2. Ho provato a forzare il nome del file nel tentativo sopra di utilizzare sempre 'c: \ jmeteruter \ data.csv'. Ma finisce per creare un nuovo file denominato 'c: \ jmetertest \ data.csv1.plain'. Questo tentativo è fallito anche.
    3. Ho provato a fare riferimento alla colonna URL come $ {url_1} nel campo Nome server della richiesta HTTP. Ha funzionato. Ma il problema ora è che nell'albero dei risultati, tutte le richieste stanno andando per l'URL dalla prima riga del set di risultati. Vedo che questo è a causa del numero di riga '_1' specificato nel $ {url_1} sopra. Posso usarlo se qualcuno può suggerire un modo per parametrizzare il '_1' in una variabile che posso loop attraverso (probabilmente usando un elemento "contatore"). Ho creato un elemento contatore configurazione dal nome di riferimento "LoopCounter". E ha usato questo nel campo Nome server della richiesta HTTP:

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

    4. Ma ora la mia richiesta http look lagner:

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

      Questo non ha funzionato anche.

      Soluzione 3 sembra più giustificabile per essere solo se potessi risolvere la parametrizzazione del numero di riga. Sono aperto anche a Jmeter Plugin Suggerimenti. Aggiornerò qualsiasi altra cosa che ci provo mentre andiamo avanti.

      P.S. Per favore fammi sapere se la mia domanda non è comunque chiara.

È stato utile?

Soluzione

Hai provato a avvolgere il campionatore HTTP in un controller Foreach (genitore) in cui la variabile per il controller è la variabile URL ottenuta dal campionatore JDBC?

Inoltre, la variabile di uscita nella foreach sarà la variabile che ora si utilizza nel campionatore HTTP.

In questo modo ipererà attraverso ogni variabile dall'inizio dell'indice all'estremità e eseguire il campionatore una volta ogni volta.

Altri suggerimenti

In "Salva risposte a un file" Listener ", selezionare Caschietti" Non aggiungere suffisso e prefisso ".Verifica di queste due opzioni garantiranno, ottieni il nome del file di registro esatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top