对于 vpManual 方法和 vpDynamic 方法,可参阅《Functional Tester API 参考》中的 IFtVerificationPoint 条目,以了解有关对验证点名称和数据格式的限制的信息。
当您要亲自创建验证点的数据并要对数据进行比较时,手动验证点非常有用。例如,数据可以是计算结果,也可以来自外部源,如数据库。
手动验证点对象是通过使用 vpManual 方法所构造。在调用该方法时,首先要提供数据,然后 performTest 才能执行。(performTest 方法保存提供的数据,当存在基线时对其进行比较,并将结果写入日志中。)vpManual 方法有两个特征符:
IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object actual) IFtVerificationPoint vpManual (java.lang.String vpName, java.lang.Object expected, java.lang.Object actual)
第一种形式的 vpManual 获取验证点的名称以及与现有基线进行比较或用于创建基线(如果不存在基线)的实际数据。 请注意,该值可以为 null。vpName 相对于脚本必须是唯一的。例如:
vpManual ("manual1", "The rain in Spain").performTest();
此方法的第二种格式将针对要与实际数据比较的预期数据添加参数。预期数据或实际数据的值都可以为 null。例如:
vpManual ("manual1", "The rain in Spain", "The Rain in Spain").performTest();
在此示例中,数据不匹配。performTest 方法将在日志中记录验证点失败消息。
如果 TestObject 没有进行映射,并且不是 Functional Tester 通常要测试的对象(例如不属于待测应用程序的对象),那么使用动态验证点最合适。
vpDynamic 方法构造动态验证点。下次回放脚本时,动态验证点将调出适当的用户界面。用户可以插入针对脚本指定的对象而测试的验证点数据。使用该方法,用户不必将测试手动运行到适当状态,即可记录验证点。vpDynamic 方法有两个特征符:
IFtVerificationPoint vpDynamic (java.lang.String vpName) IFtVerificationPoint vpDynamic (java.lang.String vpName, TestObject objectUnderTest)
第一种形式的 vpDynamic 方法要求唯一的(相对于脚本而言)验证点名称。下次回放脚本时,将调出“记录验证点和操作”向导。 用户为要测试的后续运行指定 TestObject 和基线数据。脚本必须以交互方式运行。 例如:
vpDynamic("dynamic1").performTest();
其他形式的 vpDynamic 方法要求指定 TestObject。例如:
vpDynamic("dynamic1", AnAWTButtonButton()).performTest();
修改的 UI(不显示 TestObject 层次结构)在第一次回放时显示,用以指定基线的数据值。尽管指定的 TestObject 不必来自测试对象图,但必须始终是相同对象,这样结果才有意义。
使用这些方法时,一个常见错误是省略 performTest 方法。 这是合乎语法的,且编译时不会出现警告,但是脚本运行时不会执行有用的操作。例如:
vpDynamic("test1", AnAWTButtonButton()); //ERROR. 无任何操作发生。