VBScript错误 - 找不到路径;代码:800A004C,当运行QTP的驱动程序脚本时

时间:2012-10-23 16:14:27

标签: vbscript qtp

我正在通过VBScript运行QTP的驱动程序脚本,直到最近我才遇到问题。我在VM上运行它,直到最近我才得到这个错误:路径未找到,代码:800A004c,它出现在Line:58,Char 15,这是我的变量strBaseFunctionPath正在使用。

我在单独的VM上使用这个完全相同的脚本,没有任何问题。我对VBScripting有些新意。我读到这与未找到文件有关,但一切都在那里,因为它创建文件并从单独的脚本中提取。这又是上周的工作。任何想法?

    strEnvironment = "QA" 'QA,QA2,FEDP,STAGE,PROD,FO,TEMP
    strBuildNumber = "Build_12_44"
strProject = "HAL"
strSuite = "Full" 'Custom,Full,Smoke
bolTimeStampDate = True
bolAppendMode = False

'<-><-><-><-><-><-><-><-><-><-><-><-><-><-> TEST SUITE TESTS <-><-><-><-><-><-><-><-><-><-><-><-><-><-><->
strTestString = "C:\Quicktest\HAL\Scripts\Helper\Clear Cache and Cookies" &_
"C:\Quicktest\HAL\Scripts\HAL Travel Agent HQ\LILO Travel Agent HQ" &_
"C:\Quicktest\HAL\Scripts\HAL Academy\LILO HAL Academy" &_
"C:\Quicktest\HAL\Scripts\HAL\FE-BE Testing\Online Check-in" &_
"C:\Quicktest\HAL\Scripts\HAL\FE-BE Testing\Book A Shore Excursion" &_
"C:\Quicktest\HAL\Scripts\HAL\FE-BE Testing\Book A Cruise Tour" &_
"C:\Quicktest\HAL\Scripts\HAL\FE-BE Testing\Book A Cruise" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Find Cruises\Find Cruises - All Currencies - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Find Tours\Find Tours - All Currencies - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Contact Us\Validate Contact Us - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Special Offers\Validate Special Offers - All Currencies - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\X-Forward-For Modified\Validate Currency - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Change Email - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Change Password - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Update Account Info - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Password Email Reset - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Registration\Register New User - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Site Navigation\Site Navigation - EN" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Find Cruises\Find Cruises - All Currencies - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Find Tours\Find Tours - All Currencies - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Contact Us\Validate Contact Us - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\Special Offers\Validate Special Offers - All Currencies - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Locality\X-Forward-For Modified\Validate Currency - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Change Email - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Change Password - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Update Account Info - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\My Account\Password Email Reset - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Registration\Register New User - NL" &_
"C:\Quicktest\HAL\Scripts\HAL\Site Navigation\Site Navigation - NL"

testArray = Split (strTestString,"C:\Quicktest\")
'<-><-><-><-><-><-><-><-><-><-><-><-><-><-> END TEST SUITE TESTS <-><-><-><-><-><-><-><-><-><-><-><-><-><-><->

'<-><-><-><-><-><-><-><-><-><-><-><-><-><-> TEST SUITE CONTROLLER <-><-><-><-><-><-><-><-><-><-><-><-><->
intBeginScript = 1
intEndScript = 29
'<-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><->

'<-><-><-><-><-><-><-><-><-><-><-><-><-><-> TEST RESOURCE PATHS <-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><->
strBasePath = "C:\Quicktest\"
strBaseProjectPath = strBasePath & strProject
strBaseFunctionPath =  strBaseProjectPath & "\QTP_Runner\Functions\Runner.vbs"
'<-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-<-><-><-><-><-><-><-><-><-><-><-><-><-><->

'<-><-><-><-><-><-><-><-><-><-><-><-><-><-> OPEN FUNCTIONS FILE <-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><->
Dim fsObj : Set fsObj = CreateObject("Scripting.FileSystemObject")
Dim vbsFile : Set vbsFile = fsObj.OpenTextFile(strBaseFunctionPath, 1, False)
Dim myOtherScript : myOtherScript = vbsFile.ReadAll
vbsFile.Close
Set vbsFile = Nothing
Set fsObj = Nothing
ExecuteGlobal myOtherScript
RunTestSuite

1 个答案:

答案 0 :(得分:0)

你在第58行发布的代码是Set vbsFile = Nothing,我猜测给你错误的是第55行

Dim vbsFile : Set vbsFile = fsObj.OpenTextFile(strBaseFunctionPath, 1, False)

我建议print输出strBaseFunctionPath并确保文件存在。

顺便说一下:下次说出哪一行产生错误而不是转储整个文件并给出一个文件号会更有帮助。