在使用QTP做自动化测试的过程中,我们有时候会用到QTP中的Action,有时候也会用到VBScript的函数,在这里称之为Function。那么这两者之间有什么区别和联系呢,在这里我个人做了一下总结,限于水平有限,总结得可能不是很全面,欢迎拍砖~
- Actions和Functions的区别
1. Action属于QTP的范畴,而Function则属于VBScript的范畴。
2. Action有相关联的本地对象库(Local Object Repository)、本地数据池(Local DataTable)和共享对象库(Shared Object Repository),而Function没有这些。
3. Function可以定义在一个Action内部,但一个Action无法定义在一个Function内部。
4. Function可以存储在一个QTP的Test文件的内部或者外部,Action是QTP Test文件的一个组成部分(一个Test文件由若干Action组成)。
5. Function在运行时的性能比Action更好。
6. Action可以有多个输出参数而Function最多只能有一个返回值,但是Function可以通过巧妙地使用ByRef,Collections和公有变量来达到返回多个值的效果。
- Action的优缺点
1. Action可以提供多个输入和输出参数。
2. Action的参数不支持复杂的参数类型,比如数组、对象等等。
3. 一个没有任何对象和代码的空的Act