2016-07-06 45 views
1

我有1個需要在它之前進行身份驗證的請求。驗證在啓動執行一次,並且當請求返回代碼403第二身份驗證的代碼看起來每次像下:更改失敗的請求在VuGen中傳遞

int rc; 
lr_start_transaction("trans"); 
lr_continue_on_error(1); 
web_custom_request(...); // [1] 
lr_continue_on_error(0); 
rc = web_get_int_property(HTTP_INFO_RETURN_CODE); 
if (rc == 403){ 
    authentication(); // custom action which authenticate user 
    web_custom_request(...); // same as [1] 
} else if (rc != 200){ 
    lr_stop_transaction("trans", LR_FAIL); 
} 
lr_stop_transaction("trans", LR_FAIL); 

但是,當我開始該試驗中,在我的請求[1],第一次運行看到錯誤其我不想看到,如果[1]的第二個請求成功,該如何通過?

+0

這是非常不尋常的服務器身份驗證。根據標準,它應該返回代碼401,並且LoadRunner可以通過'web_set_user()'處理這個問題。 403被認爲是錯誤的。 – tserg42

+0

如果您先進行身份驗證並且已經通過身份驗證,它是否會影響web_custom_request? - 或者如果它是一個登錄頁面,您可以進入身份驗證,也許去那裏,如果登錄頁面沒有顯示(您的主頁是),那麼跳過它。 –

回答

0

在最新版本的LoadRunner中,您可以打開運行時設置(F4)並提示選項Internet協議 - >首選項 - > HTTP - >標記HTTP錯誤,作爲警告。這將使LoadRunner忽略HTTP錯誤,但您必須使用web_get_int_property(HTTP_INFO_RETURN_CODE)手動處理它們。

+0

這是非常不舒服的套件,還有很多其他請求我不想手動檢查。 – Lunigorn

+0

@Lunigorn,不幸的是,這是避免在403狀態碼上產生錯誤的唯一方法。 – tserg42

0

也許這將更容易找出什麼是生成403,然後主動處理它,所以你不會收到初步失敗?這樣,沒有錯誤和閱讀報告的經理不會因報告中的錯誤而激怒。

+0

不幸的是有應用程序邏輯,當會話過期時發生403錯誤,然後它需要再次驗證。 – Lunigorn

+0

「....會話過時....」它看起來像你沒有正確地關聯所有會話/狀態/日期/時間令牌 –