扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:李旭 来源:论坛整理 2007年11月17日
关键字:
在测试中,很重要的一步就是要对响应信息进行验证。Rational Tester for SOA Quality 提供了多种验证点,能够帮助您方便灵活地为响应信息添加验证条件。具体类型和功能如下:
Equal Verification Point 和 Contain Verification Point,能够让您验证返回的消息内容是否满足您期望的条件
XPath Verification Point 是为了验证返回的消息内容是否与您指定的 Xpath 表达式相匹配
Attachement Verification Point 用于验证 Web 服务返回的附件是否满足您期望的条件。
本节中,我们主要介绍 Equal Verification Point,为 add 方法调用的响应信息添加该验证点,用于验证输出的结果,即和数是否和数据池中的第三个字段中的数据相等。具体步骤如下:
选中 Test Content 编辑框的第三行,add(“”,”3”)。该行表示对 Web 服务调用的响应,3 为返回的最终结果。点击 Add 按钮,在弹出的选项列表中,我们可以看到共有四种验证点:
选择 Equal Verification Point。您将会看到在 Test Contents 编辑框的第四行出现一个新的元素,Equal Verification Point。点击该行,在右侧 Overview 标签页中,展开 addResponse, 出现了 add 方法的输出参数,addReturn。
由于 add 方法的输入参数分别引用数据池中的变量,因此,测试的输出参数应该为数据池中的第三列数据,即变量 result。验证点的作用,即是验证实际返回的结果是否等于变量 result 的值。因此,我们需要将输出参数 addReturn 与数据池中的变量 result 相关联。具体步骤请参照上文。
图 17. 编辑 Equal Verification Point
添加 IF-THEN 逻辑
在实际的测试中,我们通常会遇到这样的情况,就是在执行一个测试脚本中,我们并不希望执行脚本中的全部调用,而是能够有选择地执行某些调用。Rational Tester for SOA Quality 为我们解决了这个问题,它可以为测试元素添加 IF-THEN 逻辑。测试中任何一次对 Web 服务的调用都可以被封装在 IF-THEN 逻辑块中,只有当 IF 条件被满足时,才执行该次调用。在这一部分中,我们将为测试中对 subtract 方法的调用添加 IF-THEN 逻辑,规定只有当上一步返回的结果为 7 时,才执行对 subtract 方法的调用。具体步骤如下:
点击 Test Contents 编辑框的第 5 行,subtract(“0”,”0”)。点击 Insert 按钮,在弹出的选项列表中,选择 Condition(If)。
在弹出的对话框中,点击 Yes。将对 subtract 方法的调用封装到 If-then 逻辑块中。
点击 Test Contents 编辑框中的第 5 行,If。右侧的编辑界面主要包括三部分:
First operand 第一个操作数,您可以从下拉列表中选择一个引用或指定一个具体的数据。
Operator 指定两个操作数之间的比较关系,包括大于、小于和等于。注意,这里的操作数都是 string 类型。
Second operand 第二个操作数,与第一个操作数相同,可以选择一个引用或者指定一个具体的数据。如果您要求判断条件总是能够被满足的话,您可以将两个操作数都指定为 true,将比较关系指定为 Equals。
从 First operand 下拉列表中,选择引用 result,即上一次调用返回的值,作为第一个操作数。将比较关系指定为 Equals,第二个操作数指定为一个具体的值 7。这个判断条件的意思是,如果上一次对 add 方法调用返回的值等于 7 的话,执行对 subtract 方法的调用。
图 18. 编辑 IF-THEN 条件表达式
接下来,点击 Test Contents 编辑框的第六行,subtract(“0”,”0”)。将输入参数 num1 与数据池中的第三列数据关联,即与引用 result 关联,将输入参数 num2 与数据池的第一列数据关联,即与引用 num2 关联。
应用正则表达式
现在,我们为第二次调用响应添加一个验证点。Rational Tester for SOA Quality 为我们提供的另外一个重要功能,就是可以使用正则表达式进行数据匹配。由于我们为测试中第二次调用添加了判断逻辑,只有当第一次调用的结果为 7 时,才执行第二次调用,并将 7 作为第二次调用的第一个输入参数,将 4 作为第二个输入参数,那么输出结果应该为 3。但是,为了向您展示正则表达式的功能,我们并不简单地在验证点中将输出数据指定为数值 3,而是使用看起来更繁琐的方式,定义一个正则表达式。当然,本文的例子不太合适介绍正则表达式的功能。但考虑到本文的意图是向您介绍功能的使用,为了保证全文的统一,我们仍然使用本例。
点击 Test Contents 编辑框的最后一行,subtract(“”,”0”),然后点击 Add 按钮,创建一个 Equal 类型的验证点。
将验证点中,输出参数的值赋予一个正则表达式:[0-9]。该表达式用于匹配 0 到 9 之间的数字,也就是说返回值是一个 0 到 9 之间的数字。最后,我们还需要设定一个标识用于表明 [0-9] 是一个正则表达式,而不是一个具体的数值。点击 Regexp 列,出现 X 符号,表明返回值应该满足正则表达式。
图 19. 编辑验证点
到此为止,测试就编辑完毕了,我们建议您在这里暂作调整,先来回顾一下我们刚刚所作的工作。首先,我们通过业务流程的定义文件自动生成了一个测试脚本,然后,我们对这个测试进行了大量的编辑工作,首先,为第一个调用添加响应,使其成为一个对 add 方法的完整的调用,然后我们为输入参数定义引用,与数据池中的数据相关联,并为响应信息创建验证点,验证返回值是否等于我们指定的数值。接下来,我们手动创建了第二个调用,为该调用增加了 IF-THEN 逻辑,并为响应创建了一个验证点,用于验证返回值是否是 0 到 9 之间的数字。
下一步,我们将创建一个调度用于执行测试,最后分析测试结果。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者