所谓的关联(correlation)就是把脚本中某些写死的(hard-coded)数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数据。
举一个常见的例子,对于每个新的交易,服务器都会产生新的Session ID给浏览器。这也就是为什么执行脚本会失败的原因,因为VuGen还是用旧的Session ID向服务器要数据,服务器会发现这个Session ID是失效的或是它根本不认识这个Session ID,当然就不会传送正确的网页数据给VuGen。
哪些错误代表着应该做关联(correlation)?
会出现什么错误讯息,与系统实做的错误处理机制有关。错误讯息有可能会提醒您要重新登入,但是也有可能直接就显示HTTP 404的错误讯息。但严格来讲,并没有任何特定的错误讯息是和关联(correlation)有关系的。
如何做关联(correlation)?
关联(correlation)会用到下列的函数:
lweb_reg_save_param:最常用来做关联(correlation)的函数。
语法:web_reg_save_param ( “Parameter Name” , < list of Attributes >, LAST );
lweb_create_html_param、web_create_html_param_ex:这二个函数主要是保留作为向前兼容的目的的。
建议使用web_reg_save_param函数。
具体应用参见帮助:在VuGen中点选【Help】>【Function reference】>【Tuxedo Vuser Functions (LRT)】>【Correlation Functions】。
如何找出要关联(correlation)数据?简单的说,每一次执行时都会变动的值,就有可能需要做关联(correlation)。VuGen提供二种方式帮助您找出需要做关联(correlation)的值:
1.自动关联
2.手动关联
自动关联:
VuGen内建自动关联引擎(auto-correlation engine),可以自动找出需要关联的值,并且自动使用关联函数建立关联。自动关联提供下列二种机制:
• Rules Correlation:在录制过程中,VuGen会根据订定的规则,实时自动找出要关联的值。规则来源有两种:
内建(Built-in Correlation):VuGen已经针对常用的一些应用系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,内建关联规则,这些应用系统可能会有一种以上的关联规则。
您可以在【Recording Options】>【Internet Protocol】>【Correlation】中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。
您也可以在【Recording Options】>【Internet Protocol】>【Correlation】检视每个关联规则的定义。
使用者自订(User-defined Rules Correlation):除了内建的关联规则之外,使用者也可以自订关联规则。您可以在【Recording Options】>【Internet Protocol】>【Correlation】建立新的关联规则。
• Correlation Studio:是在执行脚本后才会建立关联,也就是说当录制完脚本后,脚本至少须被执行过一次,Correlation Studio才会作用。Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,借此找出需要关联的数据,并建立关联。
Rule Correlation
请依照以下步骤使用Rule Correlation:
1.启用auto-correlation
l点选VuGen的【Tools】>【Recording Options】,开启【Recording Options】对话窗口,选取【Internet Protocol】>【Correlation】,勾选【Enable correlation during recording】,以启用自动关联。
l假如录制的应用系统属于内建关联规则的系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,请勾选相对应的应用系统。
l或者也可以针对录制的应用系统加入新的关联规则,此即为使用者自订的关联规则。
l设定当VuGen侦测到符合关联规则的数据时,要如何处理:
【Issue a pop-up message and let me decide online】:跳出一个讯息对话窗口,询问您是否要建立关联。
【Perform. correlation in sceipt】:直接自动建立关联。
2.录制脚本
开始录制脚本,在录制过程中,当VuGen侦测到符合关联规则的数据时,会依照设定建立关联,您会在脚本中看到类似以下的脚本,此为BroadVision应用系统建立关联的例子,在脚本批注部分可以看到关联前的数据为何。
3.执行脚本验证关联是OK的。
Correlation Studio
当录制的应用系统不属于VuGen预设支持的应用系统时,Rule Correlation可能既无法发挥作用,这时可以利用Correlation Studio来做关联。
Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,借此找出需要关联的数据,并建立关联。
使用Correlation Studio的步骤如下:
1.录制脚本并执行
2.执行完毕后,VuGen会跳出下面的【Scan Action for Correlation】窗口,询问您是否要扫描脚本并建立关联,按下【Yes】按钮。
3.扫描完后,可以在脚本下方的【Correlation Results】中看到扫描的结果。
4.检查一下扫瞄的结果后,选择要做关联的数据,然后按下【Correlate】按钮,一笔一笔做,或是按下【Correlate All】让VuGen一次就对所有的数据建立关联。
注意:由于Correlation Studio会找出所有有变动的数据,但是并不是所有的数据都需要做关联,所以不建议您直接用【Correlate All】。
5.一般来说,您必须一直重复步骤1~4直到所有需要做关联的数据都找出来为止。因为有时前面的关联还没做好之前,将无法执行到后面需要做关联的部份。
有可能有些需要做关联的动态数据,连Correlation Studio都无法侦测出来,这时您就需要自行做手动关联了。
手动关联:
手动关联的执行过程大致如下:
1.使用相同的业务流程与数据,录制二份脚本;
2.使用WinDiff工具协助找出需要关联的数据;
3.使用web_reg_save_param函数手动建立关联;
4.将脚本中有用到关联的数据,以参数取代。
接下来将详细的说明如何执行每个步骤:
①使用相同的业务流程与数据,录制二份脚本。
l先录制一份脚本并存档。
l依照相同的操作步骤与数据录制第二份脚本并存盘。
注意,所有的步骤和输入的数据一定都要一样,这样才能找出由服务器端产生的动态数据。
l有时候会遇到真的无法使用相同的输入数据,那您也要记住您使用的输入数据,到时才能判断是您输入的数据,还是变动的数据。
l使用WinDiff工具协助找出需要关联的数据。
②使用WinDiff工具协助找出需要关联的数据
l在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份脚本。
l接着