lrs_save_searched_string

lrs_save_searched_string("socket0", NULL, "evalid", "LB=SimpleEngineTest/", "RB=\"", 1,0,-1);
  這個函數的用法基本與web_reg_save_param()類似,一樣是通過左右邊界來進行數據查找,函數的8個參數依次代表:“socket線程名”、“buf名稱”(這裏傳NULL表示從上面一個buf取值)、“參數名稱”(需要將數據保存的參數名稱)、“左邊界”、“右邊界”、“第幾次出現”、“位移的數量”、“參數的長度”。線程名和buf名一定不可以傳錯,最後三個數據只要傳(1 , 0,-1)就可以了。

  在socket協議中,關聯數據保存也可以用函數lrs_save_param(),這裏不作說明,每個函數都其優點,適當的時候也可以採用。需要注意的是web_reg_save_param() 需要放在請求之前,lrs_save_searched_string()是放在接受之後。


保存參數之後,我們需要對data.ws中發送的數據包,進行下全局替換,將用到Evalinstance的地方全部替換成 “evalid”參數:


在socket包中,參數需要用“<>”來表示。
  最後,再介紹1個socket函數:lrs_set_receive_option()使用這個函數可以防止回放腳本receive出現一些相關問題。
  lrs_set_receive_option(EndMarker, EndMarker_None ) //讀取直到緩衝結束。
  lrs_set_receive_option(EndMarker, StringTerminator , "\r\n") //讀取直到"\r\n"符號出現.你可以根據自己的接收數據的結束符修改。
  lrs_set_receive_option(EndMarker, BinaryStringTerminator , "\\X00")讀取直到二進制符號"\\X00"出現。
  總之,Socket腳本調試問題比較多,也不是一兩句話說的完的,網上一些資料多是“去頭斷尾”,要麼是“藥不對症”。這裏僅是就socket的關聯給大家做個介紹,希望這篇文章對大家有所幫助,同時也希望各位將自己的一些經驗拿出來共享。

http://www.51testing.com/html/18/n-2140718-2.html

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