2017-04-21 5 views
0

Ich versuche, einen einfachen Auslastungstest auszuführen, aber einige meiner XPath-Assertions sind fehlgeschlagen, und ich kann nicht herausfinden, warum. Hier ist ein Beispiel von html:Warum schlägt meine JMeter XPath-Assertion fehl?

<div class="g1260"> 
    <h1 class="top-head"> 
     <div id="ctl00_mainContent_ctl00"> 
    INVESTMENT CONSULTANTS 
     </div> 
    </h1> 
</div> 

und hier ist meine XPath:

//div[@id="ctl00_mainContent_ctl00" and contains(text(),"INVESTMENT CONSULTANTS")] 

Die Behauptung fehlschlägt, obwohl, wenn ich an der Reaktion in dem Ergebnisbaum aussehen, das Element ist.

Jmeter response

Ich habe auch versucht die XPaths

//div[@class="g1260"]/h1[@class="top-head"]/div 

die und

//div[@class="g1260"]/h1[@class="top-head"] 

, die vergeht, schlägt fehl.

Alle oben genannten XPaths funktionieren in der Entwicklerkonsole einwandfrei, aber in JMeter fehlgeschlagen. Was geht hier vor sich?

+0

Können Sie mit diesem Ausdruck versuchen '// div [@ id = "ctl00_mainContent_ctl00" und enthält (normalisieren Raum (Text()), 'INVESTMENT CONSULTANTS')]' –

+0

@NaveenKumarNamachivayam ja, ich habe das versucht und die Behauptung ist immer noch fehlgeschlagen. –

Antwort

1

ich Ihr Problem nicht reproduzieren kann, in XPath Tester mode des View Results Tree listener suchen:

auch nur für Knoten Präsenz Ihre Schecks Ausdruck, müssen, wenn Sie testen, ob der Text gleich INVESTMENT CONSULTANTS Sie müssen ändern XPath-Ausdruck wie folgt aussehen:

normalize-space(//div[@id="ctl00_mainContent_ctl00"]/text())='INVESTMENT CONSULTANTS' 

JMeter Xpath Tester 2

Abhängig von der Art Ihrer Antwort müssen Sie (oder müssen möglicherweise nicht) das Feld Use Tidy ankreuzen, versuchen Sie beide Optionen, wenn Sie Tidy verwenden - überprüfen Sie die Datei jmeter.log auf verdächtige Einträge.

Wenn die obigen Schritte nicht helfen - teilen Sie Ihre vollständige Antwort und Assertion-Anforderung, und wir werden versuchen, mit der am besten geeigneten Konfiguration zu kommen.

In der Zwischenzeit lesen Sie in diesem XPath Tutorial

+0

Danke für Ihre Antwort. Ich verwende Tidy, und in der Datei jmeter.log ist nichts enthalten. Ich benutze auch JMeter 2.11, also habe nicht den erweiterten XPath-Tester hier gezeigt. Ich habe meinen XPath auf 'normalize-space '(// h1 [@ class =" top-head "]/text()) =" INVESTMENT CONSULTANTS "geändert und es funktioniert jetzt - ich überprüfe nur die korrekte Seite wird zurückgegeben, Das ist genug für mich. –

+0

Gut zu wissen, dass es funktioniert hat. Wenn Sie sich aus irgendeinem Grund an JMeter 2.11 halten müssen, können Sie immer noch [Debug Sampler] (http://jmeter.apache.org/usermanual/component_reference.html#Debug_Sampler) verwenden, um die Ergebnisse Ihrer XPath-Abfragen zu überprüfen, wie auch immer ich es tun würde Ich empfehle, auf die neueste JMeter-Version ([JMeter 3.2] (https://www.blazemeter.com/blog/whats-new-jmeter-32) ab sofort zu aktualisieren), da neue JMeter-Versionen nicht nur sexy neue Funktionen enthalten, sondern auch kommen mit Fehlerkorrekturen und Leistungsverbesserungen, so ist es wichtig, up-to-date zu bleiben –

+0

Ich habe Version 3 versucht.2, aber die Umgebung, an der ich arbeite, hat noch Java 1.7. Da dies ein schnelles Projekt ist, bleibe ich für jetzt, werde aber für das nächste upgraden! –

Verwandte Themen