|
最近在开发一个基于QTP的自动化框架,在实现的过程中出了一个问题,请各位高手帮忙看看。
框架基本实现如下:
① 从驱动文件(vbs脚本文件)启动,读取测试环境配置信息、QTP的配置信息及测试用例信息(其中包括测试用例名称、是否执行、对应的vbs文件路径等)。
② 驱动文件通过QTP Automation Object Model启动病运行QTP。
③ QTP根据测试用例信息加载测试用例对应的vbs文件。
④ 运行该vbs文件中的函数。
目前,就是在第④步这里出现了题目中的错误
这部分的代码
Dim str
······
str = "Call " & TestCaseName & "()" 'TestCaseName是测试用例的名称,同时也是其对应的vbs文件中函数的名称。
Execute str
······
就是在Execute这一步出现了问题,总是弹出“类型不匹配”的错误信息,导致无法继续运行。
测试用例对应的vbs文件中,只有一个与测试用例名称同名的函数,没有Class。
出现问题后,一开始我以为是函数有问题,因此我创建了一个新的QTP的test,手动加载这个vbs文件后,在Action中只输入了 Call NormalLogin() ,然后运行,却是可以运行成功的。
所以我现在不知道是什么原因。
难道说VBscript通过QTP Automation Object Model启动并运行的QTP程序,不能再调用vbs文件中的函数???
还请各位高手解惑!不胜感激! |
|