2016-09-23 92 views
2

在使用3個線程運行我的JMeter腳本時,漸增5秒我收到變換器異常。實際上,在我的場景中,我想隨機點擊頁面的多個鏈接,因此我在JMeter中使用了隨機變量。但是在運行後,我得到了錯誤,但是,XPath提取器中的XPath表達式看起來很好。在運行Jmeter腳本時獲取Transformer異常

2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2016/09/23 23:44:03 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2016/09/23 23:44:03 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Starting 3 threads for group Thread Group. 
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2016/09/23 23:44:03 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 3 ramp-up 5 perThread 1666.6666 delayedStart=false 
2016/09/23 23:44:03 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 
2016/09/23 23:44:03 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2016/09/23 23:44:05 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-2 
2016/09/23 23:44:07 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-3 
2016/09/23 23:44:09 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[@class="title"]/a/@href)[$(RandomNumber)]) Expected ], but found: RandomNumber 
2016/09/23 23:44:10 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1 
2016/09/23 23:44:10 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 
2016/09/23 23:44:10 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[@class="title"]/a/@href)[$(RandomNumber)]) Expected ], but found: RandomNumber 
2016/09/23 23:44:11 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-3 
2016/09/23 23:44:11 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-3 
2016/09/23 23:44:11 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[@class="title"]/a/@href)[$(RandomNumber)]) Expected ], but found: RandomNumber 
2016/09/23 23:44:12 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-2 
2016/09/23 23:44:12 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-2 
2016/09/23 23:44:12 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2016/09/23 23:44:12 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

回答

3
  1. JMeter Variables被引用爲${RandomNumber} - 你需要使用大括號,而不是括號。或者您可以使用__V()功能像

    ${__V(RandomNumber)} 
    

    所以,你需要你的XPath查詢更改爲以下之一:

    • (//跨度[@類= 「標題」]/A/@ HREF)[$ {RandomNumber}]
    • (//跨度[@類= 「標題」] /一個/ @ HREF)[$ {__ V(RandomNumber)}]
  2. 你的方法似乎是脆弱。我不知道有多少鏈接頁面,你如何生成您${RandomNumber}變量,但我寧願去以下方式:

    • 商店所有鏈接頁面到像JMeter的變量:

      link_1=http://example.com 
      link_2=http://jmeter.apache.org 
      ... 
      link_matchNr=50 
      
    • 使用隨機變量的JMeter從那裏經由上述__V()__Random()和組合功能所需的像先前提取的:

      ${__V(link_${__Random(1,${link_matchNr},)})} 
      

    演示:

    JMeter Combining Variables

    Here’s What to Do to Combine Multiple JMeter Variables文章,你如何能不同JMeter的函數和變量組合成一個單一的表達更多的信息。

+0

謝謝德米特里:)非常好的做法。有效。 – Bhanu

+0

@Bhanu不要忘記[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),因爲它解決了問題。 – har07