在软件开发领域,LoadRunner是一款强大的性能测试工具,它允许测试人员模拟大量用户并发执行业务流程,以此来评估系统在高负载下的性能表现。在LoadRunner中,关联函数(Correlation Function)扮演着至关重要的角色,它用于处理不同请求间的依赖关系,确保测试脚本能够正确地模拟实际用户的行为。
关联的用途主要在于从服务端返回的数据中提取并保存关键信息,这些信息通常在后续的请求中会被用到。例如,在Web应用测试中,一个动态生成的令牌或会话ID可能需要在一次请求后再次使用,这时就需要使用关联功能。
LoadRunner提供了一个名为Web_reg_save_param()的关联函数,也被称为WRSP。这个函数在图1中展示了其使用界面,其中包含了多个设置项,如Parameter Name、Left Boundary、Right Boundary等。让我们逐一了解这些参数的作用:
1. **Parameter Name**:这是要保存的参数的名称,是你自定义的标识符,后续脚本中将通过这个名称引用所关联的值。
2. **Left Boundary** 和 **Right Boundary**:这两个参数定义了要提取数据的边界,它们是字符串或正则表达式,用于定位要保存的数据。在示例中,"LB=href=http://news.baidu.com>"是左边界,"RB=</a>"是右边界,用于识别“新闻”这个关键字所在的链接。
3. **Instance**:如果目标数据在同一页面中有多个实例,你可以通过指定实例号来选择特定的一个。
4. **Relative Frame ID**:在多框架的网页中,此参数用于指定要关联的数据所在的框架。
5. **Not Found**:如果找不到边界或者数据,可以设置此选项,LoadRunner将根据这个设置处理找不到数据的情况。
6. **Search in**:定义在何处搜索边界,如响应正文、HTTP头等。
7. **Save Length** 和 **Save Offset**:这两个参数允许你精确控制要保存的长度或偏移量,比如在上面的例子中,为了提取“新闻”而不是“新 闻”,我们可以设置“SaveLen=2”。
在给定的脚本中,我们首先使用Web_reg_save_param()定义了关联,然后在web_url()函数之后,它会在打开的www.baidu.com页面中寻找并保存数据。之后的web_submit_data()函数中,我们使用了关联出来的参数"{keyword}"作为搜索关键字。为了得到准确的“新闻”而非带有空格的“新 闻”,我们可以通过设置"SaveLen"来优化关联,使其只保存两个字符。
理解并正确使用LoadRunner的关联函数是创建真实世界场景的测试脚本的关键。它使得测试脚本更加智能,能够适应动态数据的变化,提高测试的准确性。通过熟练掌握Web_reg_save_param()函数的各个参数,测试工程师可以更高效地模拟复杂的用户交互,从而发现潜在的性能瓶颈和问题。