關于LR中lrs_accept_connection函數中獲取data.ws中端口號問題解決方法

發表于:2007-12-03來源:作者:點擊數: 標簽:loadrunnerlr
使用Winsocket錄制一個腳本時,腳本中有lrs_accept_connection("socket0","socket1“)函數,根 據網上的說法找到socket0的端口2839,并且也獲取后保存為參數(格式是11,23)了,可是在data.ws的buf中去找原端口號用參數代替 時,原端口數據有點奇怪用text顯
使用Winsocket錄制一個腳本時,腳本中有lrs_aclearcase/" target="_blank" >ccept_connection("socket0","socket1“)函數,根 據網上的說法找到socket0的端口2839,并且也獲取后保存為參數(格式是11,23)了,可是在data.ws的buf中去找原端口號用參數代替 時,原端口數據有點奇怪用text顯示是\x17E但用binary是.E。這樣的情況要如何替代?

        1、找到lrs_create_socket("socket6".....)在該語句下添加
   /* 獲取創建socket6時,創建的本地端口號5030(每次回放時該端口都會變)
newport=lrs_get_socket_attrib("socket6", LOCAL_PORT);

lr_save_string(newport, "newport0");

lr_output_message("Local port%s",newport);

        2、接下來添加語句
   /* 將該端口號分解成高位19和低位166(19*256+166=5030),并將轉換后的在轉換成16進制13和a6
ival=atoi(newport);

ilowval=(WORD)(ival)&0xff;

ihighval=(WORD)(((DWORD)(ival)>>8))&0xff;

strcpy (buf0, itoa( ihighval, tmp, 16 ));

lr_save_string(buf0, "portnum0");

strcpy (buf, itoa( ilowval, tmp, 16 ));

lr_save_string(buf, "portnum");

        3、在lrs_create_socket("socket6".....)下lrs_create_socket("socket7".....)的最 近的sent語句中的data.ws中的buf去找到要替代的端口號,用參數portnum0和portnum將其替代
        (替代時在參數名前加上十六進制的表示法\x);還要在data.ws中找到所有該端口號
        (如何在Data.ws中找要替換的端口號:該端口號在找到的buf中的你機器的ip地址后如:\x0f\xa6 替換成:\x{portnum0}\x{portnum};在data.ws中搜索\x0f\xa6,將其全部替換。)

        4、屏蔽該語句lrs_accept_connection("socket6", "socket9")

        5、將lrs_accept_connection("socket6", "socket9")該語句下最近的lrs_create_socket中的端口號用參數newport代替;并將該語句下所有的
socket9用最近的lrs_create_socket(以newport為參數代替端口號)中的socket代替

        注:只要出現lrs_accept_connection的地方都按以上步驟代替

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97