1、 什么地方需要使用關聯
凡是腳本每次執行時都必須獲取唯一標識的地方都需要關聯,假如腳本需要關聯,但是卻不做關聯是不會執行通過的,但是並沒有任何特定的錯誤消息是和關聯有關系的。比如當用戶登錄時,錄制腳本的時候服務器會返回一個用戶登錄成功的SessionID,這個值是固定的寫到腳本中,但是回放的時候由於該用戶再次登錄時,服務器會重新生成一個SessionID,但腳本中該值卻沒有獲取到,仍然是上次的SessionID,就會導致該用戶登錄失敗,但是執行的時候沒有任何錯誤提示消息,需要我們在腳本中添加打印日志才能發現。
2、 關聯函數說明
關聯函數一般有以下三種,
1、web_reg_save_param;2、web_create_html_param;3、web_create_html_param_ex;
現只介紹第一種的使用方法,該函數的格式如下
web_reg_save_param("usersession",
"LB=name=userSession value=",
"RB=>",
"ORD=1",
LAST);
LB,RB是截取字符串的左右邊界值,如果左右邊界值中存在各種特殊字符,如雙引號等,需要先用\進行轉義.如果所截取的字符串的左右邊界值比較唯一的話,可以直接引用上面的方式進行獲取,可以不用設置別的屬性了,最后的LAST是固定的.
3、 舉例說明關聯的使用
下面簡單介紹一下自己在用戶登錄時使用關聯的操作步驟
3.1 在進行錄制腳本前,在Recording Options->HTTP Properties-->Correlation中勾選 Enable correlation during recording
3.2 錄制腳本
錄制的登錄腳本如下:
畫紅框中Value就是用戶登錄后服務器返回的sessionID,這個值應該是動態變化的,不能在腳本中寫上固定值,所以必須要進行關聯。
3.3 如何確定需要關聯
根據經驗,一般需要關聯的值會在HTML的hidden標簽中出現。比如我們在Gereneration Log標簽頁中搜索 uuserSesson
搜索結果如下,搜索的結果值正好與前面的腳本一致,而且type=hidden,所以該處需要關聯
3.4 關聯函數所放的位置
因為這次我們是要對用戶登錄設置關聯,所以關聯函數要放在打開見面之前,如下圖所示,並根據Gereneration Log找到uuserSesson的左右邊界。
3.5登錄中設置關聯
關聯函數設置好后,也就是啟用了關聯后,需要在登錄的腳本中設置關聯參數。
如下圖所示,將原來的固定值更換成關聯參數,完成此步就說明關聯設置好了。