文本检查点

run-time setting->preferences->checks->enable image and text check.此选项对web_reg_find貌似无用

录制脚本时 要注意中文返回的是否为乱码,乱码匹配不到,所以尽量查找英文

int web_reg_find (const char *attribute_list, LAST);

 返回值
 整型。 成功时返回LR_PASS(0),失败时返回LR_FAIL (1)

 int web_find (const char *StepName, <Attributes and Specifications list>, char *searchstring, LAST );

 

以下主要对web_reg_find做解释

1、reg标示注册,即必须要请求之前就注册,位置放于请求之前,通常情况下写在如下六个函数之前: web_castom_request(); web_image(); web_link(); web_submit_data(); web_submit_form(); web_url()

2、此函数返回的是次数,即获取参数的次数。所以默认无论是否找到控制台都不会报错,必须使用fail属性

 

  控制台打印如此:Registered web_reg_find successful for "Text=xxx"

3、Search:控制查找范围,范围在响应头,体,all,缺省值是body。

4、Text:查找字段

5、SaveCount:查找的次数,存放参数容器中

6、Fail:Found(找到就失败) NotFound(未找到失败)

 

7、 TextPfx:要搜索的字符串的直接前缀。(同时可以关注大小敏感等)

     TextSfx:要搜索的字符串的直接后缀。

 

以下主要对web_find做解释

  Web_image_check

 可查看:http://www.cnblogs.com/jasonteststudy/p/3626908.html

 

 

web_findweb_reg_find函数两者是有一些差别的:

  (1web_reg_find先注册的优势是脚本能够一边接收Server的数据缓冲,一边进行查找,提高了查找的效率。

  (2web_reg_find的参数与web_find并不完全一样,其中有个参数叫做 SaveCount,它能够记录查找匹配的次数。而web_find的机制是一旦查找匹配成功,就立即返回,并不继续查找和记录匹配次数。

  (3VU run time设置中的 “enable image and text check” web_find有效,而对web_reg_find无效。

 

2、 WEB_FIND使用时必须开启内容检查选项
3、 WEB_FIND只能只用在基于HTML模式录制的脚本中
4、 WEB_FIND是在返回的页面中进行内容查找,WEB_REG_FIND是在缓存中进行查找
5、 WEB_FIND在执行效率上不如WEB_REG_FIND

 

 

 

int i=0;

i=web_reg_find("Text=\":1,\"", 
        "Search=Body", 
        LAST);

web_submit_data("startFlow.ht", 
        "Action=http://192.168.1.154:8080/bpmhac/platform/bpm/task/startFlow.ht"
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://192.168.1.154:8080/bpmhac/platform/bpm/task/startFlowForm.ht?defId=10000027300066"
        "Snapshot=t235.inf", 
        "Mode=HTTP", 
        ITEMDATA, 
        "Name=actDefId", "Value=csqdxn:1:10000027300065", ENDITEM, 
        "Name=defId", "Value=10000027300066", ENDITEM, 
        "Name=businessKey", "Value=", ENDITEM, 
        "Name=runId", "Value=0", ENDITEM, 
        "Name=startNode", "Value=", ENDITEM, 
        "Name=m:jdbcs:xm", "Value=a", ENDITEM, 
        "Name=m:jdbcs:bianma", "Value=", ENDITEM, 
        "Name=formKey", "Value=10000027300052", ENDITEM, 
        "Name=formData", "Value={\"main\":{\"fields\":{\"xm\":\"a\",\"bianma\":\"\"}},\"sub\":[],\"opinion\":[]}", ENDITEM, 
        LAST); 

if(i==0){ 
lr_end_transaction("startFlow", LR_PASS); 

else{ 
lr_end_transaction("startFlow", LR_FAIL); 

这个代码根据响应判断事务是否成功。

 

转载于:https://www.cnblogs.com/heygirl/p/4762945.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QTP入门-检查点输出值参数化 录像 检查点 输出值 参数化 同步点 1.检查点 目的: 检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否正常。 在密码正确的情况下预期结果是进入主界面,检查项只有enabled 方法: 在Active Screen显示的 Flight Reservation窗体右键,insert standard checkpoint , 设置checkpoint properties 勾选enabled OK 2.输出值 目的: 输出值就是通过检查把特定值输出到特定环境 可以把值输出到data table,也可以输出到环境变量、当有输出变量时,还可以输出到Test/action parameter。 由于order no是随机产生的,要把在insert order点击后产生的order number 用于open order 输入order no的步骤 方法: insert order 窗体中 order no 右键 insert output value -OK Output value properties 中选择text 因为是在insert order之后产生order number 所以要选择 after current step -- OK configure value显示输出值将输出到data table 中的Order_No_text_out列 在open order 中 点击edit set 12后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的Order_No_text_out 3.参数化 目的: 用于改变某参数而将用例重复执行 例如我们想执行4次,每次的买的票数不同。 方法: tickets 1 后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的tickets列 在tickets列加入每次要买的张数 注意: 1.只有当控件内容发生改变时它才能被QTP自动识别。 2.有些地方需要延迟才能进行 比如insert order需要等待才能产生ordernumber 结束后需要等待才能进入下次执行 可以在脚本中加入 wait 时间 除了wait以外,还可以通过设置同步点来解决上述问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值