2016-07-14 36 views
1

我正在運行使用UFT 12.52的自動測試腳本。我想知道是否有辦法從UFT腳本中的函數中導出結果。這個想法是調用該函數並導出運行結果。自動導出運行來自UFT功能的結果

我可以通過創建一個在uft中啓動腳本並運行並導出結果的.vbs文件進行外部操作,但我無法弄清楚如何從UFT腳本中作爲函數執行此操作。

下面是我從外部導出結果的代碼。

感謝

Dim qtApp 
Dim qtTest 
Dim qtResultsOpt 
Dim qtAutoExportResultsOpts 

Set qtApp = CreateObject("QuickTest.Application") 
qtApp.Launch 
qtApp.Visible = True 


qtApp.Options.Run.ImageCaptureForTestResults = "OnError" 

qtApp.Options.Run.RunMode = "Fast" 
qtApp.Options.Run.ViewResults = False 

qtApp.Open "Z:\D:\paperlessEnhancements\", True 


Set qtTest = qtApp.Test 
qtTest.Settings.Run.IterationMode = "rngIterations" 
qtTest.Settings.Run.StartIteration = 1 
qtTest.Settings.Run.EndIteration = 1 
qtTest.Settings.Run.OnError = "NextStep" 

Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") 
qtResultsOpt.ResultsLocation = "C:\Tests\Test1\Res1" n 

Set qtAutoExportResultsOpts = qtApp.Options.Run.AutoExportReportConfig 
qtAutoExportResultsOpts.AutoExportResults = True 
qtAutoExportResultsOpts.StepDetailsReport = True 
qtAutoExportResultsOpts.DataTableReport = True 
qtAutoExportResultsOpts.LogTrackingReport = True 
qtAutoExportResultsOpts.ScreenRecorderReport = True 
qtAutoExportResultsOpts.SystemMonitorReport = False 
qtAutoExportResultsOpts.ExportLocation = 
"C:\Documents and Settings\All Users\Desktop" 
qtAutoExportResultsOpts.UserDefinedXSL = "C:\Documents and Settings\All 
Users\Desktop\MyCustXSL.xsl" 
qtAutoExportResultsOpts.StepDetailsReportFormat = "UserDefined" 
qtAutoExportResultsOpts.ExportForFailedRunsOnly = True 

qtTest.Run qtResultsOpt 

MsgBox qtTest.LastRunResults.Status 
qtTest.Close 
Set qtResultsOpt = Nothing 
Set qtTest = Nothing 
Set qtApp = Nothing 
Set qtAutoExportSettings = Nothing 

我也試過這樣:

Dim qtResultsOpt 
Dim qtAutoExportResultsOpts 


Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") 
qtResultsOpt.ResultsLocation = "C:\Temp\Notepad1" 
Set qtResultsOpt = Nothing 
+0

結帳[** this **](http://stackoverflow.com/a/33694335/1652222)鏈接。 – ManishChristian

+0

@ManishChristian看起來他們想要在代碼上做到這一點,而不是UFT選項(在鏈接的問題中有一個PS) –

+0

感謝您的回覆。我檢查了鏈接,並知道如何將它設置爲使用gui導出。理想情況下,我想在UFT腳本中調用一個將結果導出到共享文件夾的函數。上面的代碼會做到這一點,但它是一個將在腳本之外調用的解決方案。我正試圖弄清楚如何在腳本運行時和腳本結束時導出結果。謝謝。 – Lukeriggz

回答

0

@Lukeriggz:將一個函數庫,所有的腳本和函數庫應該被稱爲在首位在您的腳本(任你可以調用當前庫函數本身的行,但重要的是將屬性設置在第一位並開始執行)。庫的內容應該是你已經顯示的代碼,除了Open,run語句和釋放對象之外(主要是配置語句應該在那裏)。這將使您的結果位置始終指向您想要的路徑,並且您可以查看結果。雖然腳本配置一個變量來創建結果文件名行事有腳本的名稱是動態

另一個實現 我們可以很容易地辨認出結果得到保存使用內置的環境變量。所以編程方式我們可以使用文件系統對象複製文件夾

enter code here 

executionpath=Environment.Value("ResultDir") 
path_to_save_the_results= "Type your path where the results should be saved" 
fso.CopyFolder executionpath, path_to_save_the_results 
+0

我不確定我是否知道你的意思。以下代碼不能從UFT腳本內執行,因爲它正在重新創建一個新的UFT對象。我的問題是我可以將當​​前UFT實例設置爲對象而不是創建新實例? – Lukeriggz

+0

@Lukeriggz:讓我們通過另一個簡單的實現。在腳本結尾處更新的答案中的行將滿足您的要求。 – mulla

+0

這給我一個錯誤,找不到路徑。我相信這是因爲也許UFT不會將環境對象設置爲的位置直到測試結束? – Lukeriggz