A.7.4 一边录制一边关联
接着来看最后一种关联方式,上面的关联都需要进行一定的操作,那么为什么录制某些系统,会得到一些自动的关联函数呢?这就是系统默认提供的自动关联设置,打开录制选项中的Correlation。
VuGen提供了一些常见应用需要做的关联规则,这些规则有效解决了录制脚本后回放失败的问题,但同时也带来了一些意外。例如:如果需要录制的项目使用了和规则十分相似的数据返回格式,而开发又在其中写了一些自定义的不规范内容,就会导致VuGen错误关联数据,使本来能够回放成功的脚本由于添加了错误的自动关联而无法正常回放。
接着我们来看看,如何设置一个自定义的新规则来实现一次开发终身受益。选择Enable correlation during recording启用自动录制关联,单击New Application按钮,新建一个叫作Phpwind的应用,如图A.121所示。
图A.121 添加关联规则的应用名
然后在这个规则上单击New Rule按钮新建一个规则,并且设置左右边界为document.FORM._hexie.value='和';\r\n</script,名为hexie,如图A.122所示。
图A.122 添加hexie关联规则
同样方法再添加一个verify的规则,定义其左右边界,如图A.123所示。
图A.123 添加verify关联规则
现在新建一个脚本,重新录制一次Phpwind登录发帖的操作,录制结束查看一下脚本,可以发现系统已经自动按照规则生成了关联函数,运行脚本直接通过。
A.7.5 关联函数web_reg_save_param_ex详解
上面说了常见的3种关联应用的方式,可以看到所谓关联都是使用web_reg_save_ param_ex函数将服务器返回的内容进行收集过滤的过程,接着我们来仔细研究一下关联函数提供的选项。
首先介绍一个函数web_set_max_html_param_len,当关联出错的时候VuGen都会提示以下内容:
Action.c(20): Error -26377: No match found for the requested parameter "WCSParam2". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
很多朋友看到这个错误就会头皮发麻,完全不知所措。这种错误99%都是由于关联的边界设置不合理导致没有关联到所需要的内容。系统提示使用web_set_max_html_ param_len函数的目的是提醒如果被关联内容超出了默认的1024字节就会导致存放数据溢出,就会产生参数值为空、关联失败的情况(做附件下载关联或者多项关联大数据返回的脚本就可能会遇到这个问题),但通常都不会关联到如此巨大的内容。
web_set_max_html_param_len函数可以自定义关联返回值存放的参数的最大长度。打开Insert/Add Step窗口,找到对应的web_set_max_html_param_len函数,如图A.124所示。
图A.124 添加web_set_max_html_param_len函数
设置最大长度为9999999,如图A.125所示。
图A.125 设置web_set_max_html_param_len函数长度
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。