4.事务的定义,很简单,也很有必要,尽量是每个定义的事物符合逻辑和小。
在下面的脚本中,在异地缴费这一业务中定义了两个Transaction:准备异地缴费数据和提交异地缴费,见如下脚本代码:
lr_start_transaction("准备异地缴费数据");
web_set_max_html_param_len("4096");
……….
web_submit_data("chargeacc.do",
"Action=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/chargeacc.do?act=queryaccount",
"Method=POST",
"RecContentType=text/html",
"Referer=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/acccharge.jsp?act=first",
"Snapshot=t74.inf",
"Mode=HTTP",
ITEMDATA,
"Name=isconfirm", "Value=no", ENDITEM,
"Name=chargetype", "Value=telnumber", ENDITEM,
"Name=telnumber", "Value={PhoneNum}", ENDITEM,
"Name=nowfee", "Value=0.0", ENDITEM,
"Name=factfee", "Value=", ENDITEM,
"Name=totalfee", "Value=0.0", ENDITEM,
LAST);
lr_end_transaction("准备异地缴费数据", LR_AUTO);
5.增强脚本,对脚本进行简单的编程。
增强脚本,对脚本进行简单的编程,为性能或压力测试提供方便,这也是写
本文的宗旨,下面对此做简单的介绍:
5.1首先,定义成功与否的判断标志或字符串。
在此,我把判断成功与否的标志定义在异地缴费Action 最前面,具体定义如下:char fanhuiflag[30]="操作业务数据成功!";
但是大家可能会问,字符串"操作业务数据成功!"从何处而来,可以肯定的不能凭空想象,成功标志可从两三种方式来取得:
第一种:也是最简单的一种,直接从脚本中取得,具体操作是以View Tree 方式找到相关的界面,然后从Server Response的Snapshot的Body里去取。见下面的图片:
注:Snapshot在录制前要将Recording Options>Advanced里的Save snapshot resources locally 选项选中。
第二种方式,从脚本代码中去取,即取find函数中相关字符串,具体做法是,找到在提交事件前的web_reg_find函数,然后从中取相关字符串。
web_reg_find("Text=---------操作业务数据成功!--------",
LAST);
值得注意的是要有web_reg_find函数,可以在录制前选中Recording Options>Advanced里的Generate web_reg_find functions for page titles 选项。
第三种方式,从本地的snapshot里去取,具体操作,首先找到提交数据事件相关脚本,找到snapshot文件的名称,然后从本地的data文件里去找这个snapshot文件,然后丛中找到我们需要的字符串。
web_reg_find("Text=---------操作业务数据成功!--------",
LAST);
…….
web_submit_data("chargeacc.do_3",
"Action=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/chargeacc.do?act=submit&atype=commitdata",
"Method=POST",
"RecContentType=text/html",
"Referer=http://{BOSSURL}/boss/charge/commonbusiness/acccharge/chargeacc.do?act=querycustomer",
"Snapshot=t129.inf",
"Mode=HTTP",
ITEMDATA,
"Name=isconfirm", "Value=no", ENDITEM,
"Name=chargetype", "Value=telnumber", ENDITEM,
"Name=telnumber", "Value=", ENDITEM,
"Name=nowfee", "Value=8.8", ENDITEM,
"Name=factfee", "Value=0.00", ENDITEM,
"Name=totalfee", "Value=8.8", ENDITEM,
"Name=accountno", "Value={WCSParam_Diff1}", ENDITEM,
"Name=factpay", "Value=8.8", ENDITEM,
"Name=grantpercent", "Value=", ENDITEM,
"Name=grantfee", "Value=0", ENDITEM,
"Name=takecash", "Value=8.8", ENDITEM,
"Name=zero", "Value=0", ENDITEM,
"Name=paytype", "Value=Cash", ENDITEM,
"Name=remark", "Value=", ENDITEM,
"Name=invoice", "Value=joininvoice", ENDITEM,
LAST);
文章来源于领测软件测试网 https://www.ltesting.net/