0

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

我在一个单独的虚拟机上使用这个完全相同的脚本,没有任何问题。我对 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
4

1 回答 1

0

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

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

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

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

于 2012-10-23T21:35:43.453 回答