2016-07-14 3 views
1

UFT 12.52를 사용하여 자동화 된 테스트 스크립트를 실행하고 있습니다. UFT 스크립트의 함수 내에서 결과를 내보내는 방법이 있는지 궁금합니다. 아이디어는 함수를 호출하고 실행 결과를 내보내는 것입니다.AutoExport UFT 함수에서 결과 실행

uft에서 스크립트를 실행하고 결과를 내보내는 .vbs 파일을 만들어 외부에서 수행 할 수 있지만 UFT 스크립트 내에서 함수로 수행하는 방법을 알 수 없습니다.

아래는 결과를 외부로 내보내는 코드입니다.

Dim qtResultsOpt 
Dim qtAutoExportResultsOpts 


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

Checkout [** this **] (http://stackoverflow.com/a/33694335/1652222) 링크. – ManishChristian

+0

@ManishChristian UFT 옵션이 아닌 코드에서이 작업을 수행하려는 것처럼 보입니다 (링크의 질문에 PS가 있습니다) –

+0

응답에 감사드립니다. 링크를 확인하고 gui를 사용하여 내보내기 위해 설정하는 방법을 알고 있습니다. 이상적으로는 결과를 공유 폴더로 내보내는 UFT 스크립트에서 함수를 호출하고 싶습니다. 위의 코드는이 작업을 수행하지만 스크립트 외부에서 호출되는 솔루션입니다. 스크립트가 실행 중이고 스크립트가 끝날 때 결과를 내보내는 방법을 파악하려고합니다. 감사. – Lukeriggz

답변

0

@Lukeriggz : 모든 스크립트와 함수 라이브러리 함수 라이브러리를 부착하는 스크립트에서 처음에 호출되어야한다 (어느

감사

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 

나는 또한이 시도 현재 라이브러리 함수 자체의 라인을 호출 할 수 있습니다. 그러나 중요한 것은 속성을 첫 번째 위치에 설정하고 실행으로 시작하는 것입니다. 라이브러리의 내용은 열기, 실행 문 및 오브젝트 해제 (주로 구성 문이 있어야 함)를 제외하고 코드를 표시 한 라이브러리이어야합니다. 이렇게하면 결과 위치가 항상 원하는 경로를 가리키고 결과를 볼 수 있습니다. 스크립트의 구성은 변수에 스크립트 이름을 사용하여 결과 파일 이름을 동적으로 생성합니다.

다른 구현 inbuilt 환경 변수를 사용하여 결과가 저장되는 위치를 쉽게 식별 할 수 있습니다. 프로그래밍 방식으로 파일 시스템 개체를 사용하여 폴더를 복사 할 수 있습니다.

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 스크립트 내부에서 실행할 수 없습니다. 내 재능은 현재 인스턴스를 객체로 설정하지 않고 새 인스턴스를 만들 수 있습니까? – Lukeriggz

+0

@Lukeriggz : 다른 간단한 구현을 통해이 작업을 해보십시오. 스크립트 끝에 업데이트 된 답변의 줄을 만들어 사용자의 요구 사항을 충족 시키십시오. – mulla

+0

이렇게하면 경로를 찾을 수 없다는 오류가 발생합니다. UFT가 테스트가 끝날 때까지 환경 객체가 설정된 위치를 지정하지 않았기 때문에 가능하다고 생각합니다. – Lukeriggz