Will Roden在《Actions vs Functions in QTP 9.0》一文章归纳了QTP在Action和Function的使用上的一些区别:
1、处理数据:
Actions只能接受有限的数据类型作为参数(string、integer等)。
Function可以接受array、dictionary object和test object(Page、Frame、WebRadioGroup等)。
2、资源使用:
对于每一个Action都有对应的一个文件目录、三个vbs文件、一个local Object Repository、一个包含截图的子目录、一个Excel表,另外加载的时间也相对长一点。
而Function只包含代码,没有其它的东西。
3、API
不能用QTP的API来访问和调用Action,只能在界面上添加引用。
而对于Function,则可利用QTP的API来把Function加到测试脚本中。
4、返回值
Action的返回值在语法上很难理解、可读性差。
而Function的返回值就像普通的编程语言一样的返回值。