2011-11-17 54 views
1

工作在我的QTP測試之一,我打電話從其他測試外部作用在同一個文件夾中,例如下面提供同時呼籲相對路徑,即只測試名(Test1相對路徑不符合QC

當我在一個共同的文件夾中保存的這兩個測試QC測試計劃中,我看到「失蹤」追加到外部行動Test2。當我在QTP中打開這個測試時,沒有任何資源丟失。我也刪除外部動作和Run > Options > Folder重置爲QC路徑文件夾路徑,再次插入外部動作從QC選擇。 仍存在此問題。如果有人知道如何解決這個問題,請幫助我。

ParentFolder 
    Test1 
     ReusableAction1.1 
     ReusableAction1.2 
    Test2 
     ReusableAction2.1 
     ReusableAction1.1{Test1} ["Test1" - I used. Not "...\Test1"] 

回答

0

相對路徑通常用於引用當前執行目錄。

雖然從本地運行,當前目錄或者是在腳本存儲或臨時文件夾中的文件夾。但是,當腳本從QC運行時,當前執行目錄是一個文件夾(類似於C:\\ Temp \ HP \ TD #### \),每次運行都會更改。

您可以通過使用文件系統對象或WSH對象或QTP的環境變量檢查當前執行的目錄。

VBScript中的文件系統對象:
設置OFSO =的CreateObject( 「Scripting.FilseSystemObject」)
MSGBOX 「當前執行目錄 - 」 & oFSO.GetAbsolutePathName( 「」)

WSH的方法:
集objShell =的CreateObject( 「Wscript.Shell」)
Wscript.Echo objShell.CurrentDirectory

QTP的環境變量:
Current_Directory = Environment.Value( 「TESTDIR」)

我看不出有其他任何理由爲相對路徑不工作。

如果您有令人信服的理由來自本地和QC運行腳本,必須使用相對路徑,你可以檢查QC連接,如果連接到QC,使用來自QC測試資源的絕對路徑。

設置qtApp =的CreateObject(「QuickTest.Application」)
如果qtApp.TDConnection.IsConnected然後
'使用QC測試資源路徑
否則
' 使用(相對)的本地路徑
結束如果
設置qtApp =無

而且QCUtil.IsConnected將返回True如果QTP連接到QC(連接意味着登錄並連接到有效的項目)。