2017-09-26 31 views
-1

登錄頁面有動態密碼字段名稱:每次用戶訪問登錄頁面字段名稱看起來像PASSWORD_673834937,並在下次訪問時,它看起來像PASSWORD_673857943如何處理JMeter中的動態參數名稱

我創建了許多正在運行的腳本,但在最新的版本中,它們會將此更改帶入密碼字段中......在此之前,它始終只有PASSWORD。所以我的腳本都失敗了。什麼是解決方法,以便我的所有腳本開始使用動態字段名稱?

OLD JMETER SCRIPT using name as "PASSWORD"

NEW changes to the password field

+2

您需要發佈您的代碼的一個小例子,顯示問題[MCVE] – Rob

+0

看看你'register.asp'樣的反應。很可能它包含密碼字段的當前名稱。您需要使用RegEx提取器將該名稱提取到變量中,並在該字段的參數名稱中使用變量(而不是靜態名稱) –

+0

是的,您是正確的register.asp的響應是將密碼字段設置爲PASSWORD_673986453,如何提取並使用RegEx提取器將其作爲參數名稱傳遞給登錄頁面 –

回答

0
  1. register.asp取樣,添加RegEx Post-Processor
  2. 指定以下參數:

    enter image description here

(即正則表達式是<input TYPE="password" NAME="([^"]+)"

  • 在HTTP請求,其中密碼設置,指定由正則表達式後處理器在字段名稱創建的變量,而不是靜態的名稱的行英寸例如,由於我在上面創建的變量稱爲PasswordFieldName,在HTTP取樣器應該是這樣的(忽略不相關的參數):

    enter image description here

  • +0

    Thanx a很多...這已經解決了這個問題 –

    0

    這是缺少correlation的事,你就需要這個遲早會讓你繼續玩JMeter。

    繞過動態參數建立你的測試計劃如下的想法:

    • 請求1(打開登錄頁面)
      • 提取動態參數,並將其存儲到JMeter的變量
    • 請求2(執行登錄)提供證書和上一步中的所有動態變量

      1. 添加CSS/JQuery Extractor(注意,it is not recommended to use regular expressions to work with HTML data)作爲register.asp頁的孩子,並將其配置如下:

        • 參考名稱:任何有意義的事,即name
        • CSS/jQuery表達式:input[title=Password]
        • 屬性:name
      2. 替換PASSWORD_673834937${name}在新腳本中。