2011-01-24 9 views
9

Sto provando a creare test JMeter e utilizzare gli stessi test per diversi ambienti: QA, Staging, Dev ecc. Desidero modificare dinamicamente l'indirizzo IP modificando il file CSV o passando il valore tramite script ant o manualmente tramite prompt dei comandi. Sfortunatamente, non sono stato in grado di farlo. Il test non rileva il valore dal file CSV o dal prompt dei comandi.JMeter inserisce dinamicamente il nome o l'IP del server

Qualcuno può aiutarmi per favore.

Grazie in anticipo.

+0

Hai ricevuto una risposta accettabile? – BlackGaff

risposta

0

Se si guarda alla documentation, utilizzando un file CSV per caricare variabili sul lancio è abbastanza semplice:

Creare un file di testo contenente i nomi utente e password, separati da virgole. Metti questo nella stessa directory del tuo piano di test.

Aggiungere un elemento di configurazione DataSet CSV al piano di test. Assegna un nome alle variabili USER e PASS.

sostituire il nome di login con $ {USER} e la password con $ {PASSAGGIO} sui campionatori appropriate

L'elemento di dati CSV Set leggerà una nuova linea per ogni thread

L'importante cosa da notare è l'ultima riga - forse stai passando ad un nuovo gruppo di thread, ma hai le tue variabili tutte in una riga. In alternativa, averli su più linee per un gruppo causerà anche problemi.

0

Il set di dati CSV è un modo semplice per modificare molti valori.

Se avete avuto la voglia di farlo da riga di comando, è possibile impostare il dominio e le credenziali di accesso come proprietà, e quindi definire le proprietà dalla riga di comando

10

Io di solito aggiungere un elemento di richiesta HTTP predefiniti per il test e modificarlo manualmente.

Selecting an HTTP Request Defaults

enter image description here

In caso contrario per l'automazione, è possibile modificare il file JMX utilizzando uno script.

Modifica infatti, è possibile utilizzare i filtri ant per modificarlo dinamicamente al momento della compilazione. Ad esempio, utilizzare un filtro di <filter token="SERVER" value="${server}"/> e un obiettivo copy con il filtro sul file seguente ti fornirà un nuovo file jmx che utilizzerà il server corretto.

<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> 
      <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> 
      <collectionProp name="Arguments.arguments"/> 
      </elementProp> 
      <stringProp name="HTTPSampler.domain">@[email protected]</stringProp> 
      <stringProp name="HTTPSampler.port"></stringProp> 
      <stringProp name="HTTPSampler.connect_timeout"></stringProp> 
      <stringProp name="HTTPSampler.response_timeout"></stringProp> 
      <stringProp name="HTTPSampler.protocol"></stringProp> 
      <stringProp name="HTTPSampler.contentEncoding"></stringProp> 
      <stringProp name="HTTPSampler.path"></stringProp> 
     </ConfigTestElement> 
3

Entro il test è possibile utilizzare le proprietà JMeter - e quindi è possibile passare le proprietà dalla riga di comando.

Date un'occhiata a questa sezione della documentazione: http://jmeter.apache.org/usermanual/test_plan.html#using_variables

Questa sezione è anche utile: http://jmeter.apache.org/usermanual/functions.html#__P

Se si volesse variare il nome host, è possibile seguire questo approccio:

Definire il valore della proprietà nella riga di comando:

jmeter -Jhostname1 = www.realhost.edu

recuperare il valore della prova stessa, fornendo un default se non é disponibile:

$ {__ P (hostname, www.dummy.org)} - valore di ritorno della proprietà nome host o www.dummy.org se non definito

1

Prima di tutto, è necessario posizionare il file csv in cui è stato salvato il file di script di test. Normalmente lo script di test può essere salvato come con l'estensione jmx e inserito il file csv nella stessa directory di esso.

contenuto del file CSV come segue:

url;www.test123.com 
url;www.test1234.com 
url;www.test12345.com 

Si noti che nella configurazione Gruppo Filo, numero di thread deve essere il numero minimo di righe nel file CSV. Secondo il file CSV sopra, dovremmo definire un minimo di 3 thread nel Thread Group.

Dopo questa configurazione, JMeter richiama automaticamente la configurazione di Default richiesta HTTP ogni volta che viene eseguito un thread.

dati CSV set config

enter image description here

richiesta HTTP predefiniti

enter image description here

richiesta HTTP (solo percorso è impostato)

enter image description here

Regular Expression Extractor (opzionale per trovare risposta specifica)

enter image description here

Scrivi trovato risultato regex per un file (opzionale)

enter image description here

Fonte : http://www.codesenior.com/en/tutorial/JMeter-Dynamically-Change-Server-Name-Using-CSV-Data-File

Problemi correlati