JMeter-Standardauthentifizierung
Ich versuche zu bedeuten, das grundlegende Authentifizierungs-Prozess für web-service mit JMeter. Aber jedesmal, wenn er wirft einen error 401:Unauthorized. Ich habe versucht, mit der HTTP-Header-manager fügt einen header hinzu, Berechtigung und Wert. Noch funktioniert es nicht. Ich habe auch versucht, mit der HTTP-Authorization-manager. Immer noch kein Glück. Kann mir jemand helfen.
InformationsquelleAutor der Frage Depy | 2012-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hab ich gefunden durch debugging Anfragen von JMeter, dass die HTTP-Authorization-Manager-Modul nicht codieren Sie den Benutzernamen und das Passwort korrekt. Es bringt einem neue-Zeile-Zeichen nach dem Benutzernamen.
Ausführen JMeter test gegen eine Basic-Auth geschützten endpoint, gehören in den HTTP Header Manager und fügen Sie die Basic-Auth-header selbst:
Manuell Kodierung Anmeldeinformationen
Vom MacOS oder Linux:
echo -n "username:password" | base64
Unter Windows:
Gehen hier und Kodieren Sie Ihren "username:password" string
Hinzufügen der Authorization-Header
In den HTTP Header Manager, fügen Sie einen Eintrag mit dem Namen "Authorization" und der Wert "Grundlegende [codierten Anmeldeinformationen von oben]"
InformationsquelleAutor der Antwort
Edit 19. august 2017 für JMeter 3.2:
Grundsätzlich zu umgehen, eine Grundlegende Berechtigung müssen Sie den Genehmigung - header mit dem Wert Basic base64(username:password). Das problem ist, dass JMeter hat keine base64-Funktion eingebettet.
Die Lösung ist :
Schritt1 Hinzufügen BeanShell-Präprozessor (Präprozessor --> BeanShell Preprocessor)
Step2 Fügen Sie das folgende Skript aus, um die Präprozessor -
Schritt 3 Fügen Sie " HTTP Header Manager
Schritt 4 Hinzufügen Authorization-header mit dem richtigen Wert
header-Namen Genehmigung
header-Wert Basic ${base64HeaderValue} (base64HeaderValue variable initialisiert wurde von der BeanShell-Präprozessor)
Sodass es am Ende beim erstellen einer http-request Authorization-header an den server übergeben werden mit base64-kodierten string
InformationsquelleAutor der Antwort yurko
Folgendes tun:
1/Konfigurieren HTTP-Authorization-Manager ordnungsgemäß mit allen erforderlichen Felder
2/
Option 1 : Mit HTTP-4 : (Standard)
es ist nicht möglich, da JMeter 3.2 ohne weitere Konfiguration mit dem Autorisierungs-Manager
Option 2 : Über HTTP 3.1 : (veraltet)
in jmeter.Eigenschaften , entfernen Sie die Kommentarzeichen:
in httpclient.Parameter, entfernen Sie die Kommentarzeichen:
InformationsquelleAutor der Antwort UBIK LOAD PACK
Stellen Sie sicher, dass ein Protokoll für die Basis-URL, d.h.: "http://localhost" anstelle von "localhost"
InformationsquelleAutor der Antwort esteewhy
Wie Ryan T, sagte, in den HTTP Header Manager, fügen Sie einen Eintrag mit dem Namen
"Authorization"
und der Wert"Basic [encoded credentials from above]"
aber ohne[]
.InformationsquelleAutor der Antwort user2910552
In Bezug auf die erste Antwort oben, die falsche Codierung problem, das Sie erwähnen, muss nun fest, wie Apache 3.1 nicht erscheinen zu Kodieren Benutzername:Passwort richtig im HTTP-Auth-Manager
InformationsquelleAutor der Antwort Scott Stingel
Hinzufügen eine leichte variation von @yurko, die verwendet Benutzername & Passwort vom Benutzer definierten Variablen. (für Jmeter vor 3.2)
InformationsquelleAutor der Antwort Marcel Wilson
Update gute Ergebnisse aus Ihrem 2013 Antworten:
Das HTTP4-option funktioniert auch unter aktuellen Jmeter version 2.13
nach dem hinzufügen von HTTP-Header-Manager die Zeile mit:
Überprüft auf aktuellen host-amazon linux mit reverse proxy für den apache 2.4 auf tomcat8; tomcat8 erkannt, die Anmeldeinformationen des Benutzers statt zu werfen 401-status.
InformationsquelleAutor der Antwort Tom Pyle