LoadRunner HTTP腳本迭代處理的常見問題

最近在論壇上看到有些朋友提問,用HTTP協議錄製了一個包含登錄、瀏覽、退出過程的腳本,錄製時都放到Action部分,這時腳本設置了迭代後可以多次重複運行,但是出於處理邏輯,一旦將登錄腳本放到Init部分後,就無法正常進行迭代運行了。今天專門找個時間做了嘗試,發現可能出現這兩種錯誤。
1、這是我犯的一個低級錯誤。在我將登錄腳本移到Init部分時,將登錄腳本之後的瀏覽操作前面的web_reg_find腳本也一起移了過去,結果運行完Init部分腳本就出錯了。錯誤提示:
Error -27259: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of the Init section
這種錯誤的現象是沒有進行迭代已經出錯了,錯誤提示也很明確。這時只要把web_reg_find放回Action部分的正確的位置即可。

2、單次運行正確,但是多次迭代運行時出錯,錯誤提示:
Error -27985: There is no context for HTML-based functions. A previous function may not have used "Mode=HTML" or downloaded only non-HTML page(s), or the context has been reset (e.g., due to a GUI-based function)
這種錯誤可能比較常見,原因是在Runtime Settings的Browse Emulation中設置了Simulate a new user on each iteration引起的。由於這個設置導致每次迭代時都會模擬一個新的用戶,此時這個新的用戶並沒有執行init操作而失敗了,也即是錯誤提示中的There is no context。

這裏涉及到一個知識點就是在Rumtime Settings的迭代設置中,迭代運行次數只對Action部分有效,而Init部分和End部分還是隻運行一次的。這時如果設置了“Simulate a new user on each iteration”,將出現上面的第2種錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章