2011-10-25 10 views
0

私はattrを取得する必要があります。値componentIdinteractionstateからhtmlのJMeterを経由して、XPath抽出プログラムを試してみましたが、できません。JMeterのXPath Extractorによる応答から属性を抽出する方法は?

<html> 
    <body> 
     ... 
     <form ...> 
     <form class="UIForm" id="UINavigationComposer" action="/portal/intranet/home?portal:componentId=d934d0f3-d465-4c1d-880a-45f54b3c48e2&amp;interactionstate=JBPNS_rO0ABXcwAAt1aWNvbXBvbmVudAAAAAEAFFVJTmF2aWdhdGlvbkNvbXBvc2VyAAdfX0VPRl9f&amp;portal:type=action" method="post"> 
     <form ...> 
     ... 
    </body> 
</html> 

私は、XPathクエリを使用しよう:

/html/body/[email protected][id=UINavigationComposer]/@action 

が、エラーを取得:

Assertion failure message: /html/body/[email protected][id=UINavigationComposer]; => The reference to entity "portal:action" must end with the ';' delimiter.

答えて

2

私はあなたがあなたのXPathクエリで少し経過を持っていると思います。

/html/body/form[@id=UINavigationComposer]/@action 

またはこのようなものを使用以下のようなID属性近く @を入れて:だから、最初のステップ

//form[@id='UINavigationComposer']/@action 

を - フルアクション値を抽出し、別のJMeterでそれを保存するにRegExまたはXpath Extractorのいずれかを使用して、変数(例:ACTION_TEST)を返します。
第2ステップ - この変数からcomponentIdとinteractionstateの値を抽出します。
jmeter 2.5のRegEx Extractor(2.3.2以降)には、 "Apply to ... Jmeter Variable"オプションがあります。
あなたはオプションとcorrecpondingクエリ「に... JMeterの変数の適用」の$ {ACTION_TEST}でそれぞれ2つの追加の正規表現エクストラクタを追加することができます。

componentId=(.+?); 
interactionstate=(.+?); 
  1. 抽出を応答からフルアクション値を取得+に保存します変数。
  2. FROM VARIABLEのcomponentId値を取得するための抽出プログラム。
  3. インタラクティブステート値FROM VARIABLEを取得するためのエクストラクタ。

これがうまくいくと思います。

関連する問題