|
web_reg_save_param使用举例
在LR的使用过程中,有些操作比较复杂,比如说带有中间变量等等。这里介绍一下笔者在实际工作中使用web_reg_save_param的例子......
#include "as_web.h"
Action()
{
web_url("index.jsp",
"URL=http://172.16.74.253/servicecenter/index.jsp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t5.inf",
"Mode=HTML",
LAST);
web_submit_form("index2.jsp",
"Snapshot=t6.inf",
ITEMDATA,
"Name=licenseid1", "Value=*******", ENDITEM,
"Name=licenseid2", "Value=*******", ENDITEM,
"Name=licenseid3", "Value=*******", ENDITEM,
"Name=licenseid4", "Value=*******", ENDITEM,
"Name=licenseid5", "Value=XFH43", ENDITEM,
"Name=Submit", "Value=我同意", ENDITEM,
LAST);
web_submit_form("index3.jsp",
"Snapshot=t7.inf",
ITEMDATA,
"Name=password", "Value=*******", ENDITEM,
"Name=installcode1", "Value=*******", ENDITEM,
"Name=installcode2", "Value=*******", ENDITEM,
"Name=installcode3", "Value=*******", ENDITEM,
"Name=installcode4", "Value=*******", ENDITEM,
"Name=username", "Value=*******", ENDITEM,
"Name=phone", "Value=*******", ENDITEM,
"Name=email", "Value=*******", ENDITEM,
"Name=address", "Value=*******", ENDITEM,
"Name=submit", "Value=提交", ENDITEM,
LAST);
web_reg_save_param("MyPara1",
"LB=激活码:</td>", //左边界
"RB=", //右边界
"SaveOffset=62", //偏移量
"SaveLen=19", //长度
LAST);
web_submit_form("finish.jsp",
"Snapshot=t8.inf",
ITEMDATA,
"Name=submit", "Value=确定", ENDITEM,
LAST);
lr_output_message("激活码是:"%s"", lr_eval_string("{MyPara1}"));
return 0;
}
说明:
以上斜体部分是手工加入的。函数web_reg_save_param在这里的用法是找出源文件中的一串文字,左边界是“激活码:</td>”,偏移61字符长,所取字符串的长度是19。获得得字符串存放在变量MyPara1中。帮助中有更详细的说明,通过树形查看脚本,查看此函数的属性是可视化的参数界面。文中加入的第二行代码是输出这个变量的值到执行日值中。如有必要你可以在你的脚本中对此变量值进行后续操作。另外的函数也很简单,只要看看帮助即可。LR中也提供了比较丰富的字符串处理函数(以str开头的),这里不再做介绍。
源文件(被测web页的):
“<tr bgcolor="#FFFFFF">
<td width="112" align="right" valign="middle">激活码:</td>
<td height="20" align="left" valign="middle">
****-****-****-****
</td>”
注意:
本脚本不能直接拷贝入LR执行,如果你要测试此函数,请自行录制脚本后加入这两个函数。使用LR查看脚本时,如果遇到中文是乱码的情况,一般是因为源文件中得字符集与操作系统得字符集不匹配,比如google中使用的字符集是“UTF-8”,在LR中用Vugen录制前在录制选项,高级中选择字符集“UTF-8”。如果你的网页使用了“gbk-2312”就不会存在这个问题。 |
|