5. 要创建字段引用,右键单击并选择 创建字段引用。该区域变为黄色,表明其为字段引用。
图13
2.3 将请求值与引用关联
您可以手动地将测试中的两个值关联起来,以便用第一个值替代第二个值。
您想要与请求值关联到一起的值必须已经是一个测试引用。
如果执行中没出错误的测试没有达到期望的结果,那么原因可能是请求中的值需要与前一个响应中的引用关联起来。要将测试值与现有的测试引用关联起来:
1. 打开测试。
2. 定位到必须由引用来替代的值的位置。
3. 将该值高亮:按下鼠标左键,拖拽鼠标将其覆盖。
4. 右键单击高亮值,选择 从以下位置替换 ,并选择适当的替代值。值呈现为深绿色且关联加入到了该页面的 测试数据表格的代替为列中,这表示已经关联上了。
图14
2.4 数据关联的调整
自动的数据关联有时候需要手动调整,并且复杂的手动关联有时候需要对所测的应用程序的实现方式的详细了解。
当您执行一个测试时,您可能会注意到,服务器不是在期望的负载之下运转,或者数据库没有按期望进行更新。不完全或不正确的数据关联很可能是导致这些问题的原因。这里是一个帮助您尽早地识别数据关联问题的推荐过程:
- 单独地执行测试(如果您按进度表中运行),将 执行历史日志级别设置为 所有。如果您将测试作为单个测试运行,这就是默认的。
- 在测试完成执行之后,打开执行历史。
- 核对每次对服务器的调用是否都返回了期望的值。
当然,测试生成器的数据关联算法是基于应用程序设计者的最佳实践的。因为这些实践在不断地进化,所以这些类型的自动数据关联很可能会出现以下的错误:
- 不充分的关联:应该被关联的测试值没有被关联。三个可能的原因是:
- 两个应该被关联的参数具有不同的名称。
- 一个值应该与前一个值相关联,而前一个值未出现在期望的位置。
- 一个参数或值应该与前一个参数或值相关联,而前一个参数或值未出现在测试中,因为它也是计算值。
- 过度关联:把没有关系的测试值关联起来了。
- 不正确的关联:应该关联的测试值被错误地关联起来了。
不充分的关联:参数有不同的名称或出现在未预料的位置
在两个需要关联的参数具有不同名称时候,自动数据关联不能够识别两个参数的关联性。例如,考虑请求 http://www.madeupsite.com?id=12345。应该与该请求相关联的服务器响应是 customer_id=12345,而不是 id=12345。参数 id 需要与customer_id 相关。类似地,数据关联将一个由服务器返回的响应值和后继的请求值关联起来。自动关联算法搜索常见的位置 -- URL 和 Post 数据 -- 以寻找相关候选。但其他返回参数的方案也是可能的。例如考虑请求 http://www.madeupsite.com?id=12345。应该与该请求关联的服务器响应是一个名称或实体对href name="id" entity="12345",而不是id=12345。参数 id 需要与 name="id" 相关联,而值 12345 与 entity="12345"相关联。
要在这些情况下手动关联:
- 利用测试搜索或浏览,定位到需要相关的两个参数。
- 到第一个出现在测试中的参数处。按创建引用或者字段引用所阐述的,将参数放入引用中。(在某些情况下,该参数可能已经在引用中,所以该步骤不是必要的。)
- 到另一个参数处, 将第二个参数与前面的引用相关。
不充分的关联:一个参数未命名
参数或值很可能需要与一个先前的在测试中未命名的参数或值相关。在此种情况下,为了正确地关联,您需要了解参数或值在什么地方怎样计算的,然后利用一个定制的代码程序块处理参数值的计算。
例如,考虑 URI http://www.madeupsite.com?login_stamp=12345_Dec_12_04,在此处将登录 ID 和当天的日期串联成 login_timestamp。在这种情况下,您就需要能够串联登录 ID 和日期的定制代码。
举另一个例子,假设服务器将登录 ID 和日期分离着返回(href "customer_id=12345" Date="Dec_12_04")。在此情况下,您可以将这些参数放入单独的引用中并在后来的请求中利用客户 ID 和日期分别替代它们。
过度关联
自动数据关联基于模式匹配:参数或参数值与后来的具有准确的或相似名称的参数或参数值相关联。但有时具有准确或相似名称的参数实际上并没有关系。最好的情况是,这些不必要的关联或者是无害的,或者给测试添加了一点不适当的负担。最坏的情况是,应用程序不期望这些关联并在回放时失败。
要去掉多余的数据关联:
- 在测试编辑器中,利用搜索或浏览(关联的值显示为红色),定位到应该不相关的值上。
- 右键单击该值并选择 除去替换。
图15
另一种方法如下:
- 在测试编辑器中,单击包含不恰当关联请求的页面。
- 在测试数据表格中任意位置单击右键并选择 显示应用。
- 单击显示不恰当关联的表格行(红色字)并单击表格下面的 除去替换 按钮。
不正确的关联
需要数据关联的参数会在整个测试中出现许多次。例如,最初在用户登录时出现的会话 ID 参数可能会在后来每次的请求中出现。测试中参数的多个实例很可能不一样,关联算法会选择错误的实例。
性能测试生成参数包含参数 为执行优化自动数据相关性:
- 准确性:每个参数的出现都与最近的前一个参数的出现相关联。这是默认的。
- 效率:每个参数的出现都与单一的前一个出现的参数相关联。
图16
不正确的实例相关性很少具有准确性设置,但它们仍然是可能的。要手动纠正该问题:
- 在测试编辑器中,利用搜索,浏览或页面的测试数据表格,定位不正确关联的值。
- 右键单击该值或表格行,并单击 除去替换。
- 再次右键单击该值,选择 从以下位置替换,并选择正确的参数。