2016-07-14 1 views
1

Je cours un script de test automatisé en utilisant UFT 12.52. Je me demande s'il existe un moyen d'exporter des résultats à partir d'une fonction dans le script UFT. L'idée est d'appeler la fonction et d'exporter les résultats de l'analyse.Exécution AutoExport Résultats de la fonction UFT

Je peux le faire de l'extérieur en créant un fichier .vbs qui lance le script dans uft et exécute et exporte le résultat, mais je ne peux pas comprendre comment le faire à partir d'un script UFT en tant que fonction.

Vous trouverez ci-dessous mon code pour exporter les résultats en externe.

Merci

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 

J'ai aussi essayé ceci:

Dim qtResultsOpt 
Dim qtAutoExportResultsOpts 


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

Commander lien [** ce **] (http://stackoverflow.com/a/33694335/1652222). – ManishChristian

+0

@ManishChristian On dirait qu'ils veulent faire cela sur le code, pas avec les options UFT (il y a un PS dans la question du lien) –

+0

merci pour les réponses. J'ai vérifié le lien et suis au courant de la manière de l'exporter en utilisant gui. Idéalement, je voudrais appeler une fonction dans le script UFT qui exportera le résultat dans un dossier partagé. Le code ci-dessus va le faire, mais c'est une solution qui sera appelée en dehors du script. J'essaie de comprendre comment exporter les résultats lorsque le script est en cours d'exécution et à la fin du script. Merci. – Lukeriggz

Répondre

0

@Lukeriggz: Joindre une bibliothèque de fonctions à tous votre script et la bibliothèque de fonction doit être appelée à la première place dans votre script (soit vous pouvez appeler les lignes dans votre fonction de bibliothèque actuelle, mais l'important est de placer l'attribut à la première place et de commencer par l'exécution). Le contenu de la bibliothèque doit être celui que vous avez montré le code à l'exception de l'instruction Ouvrir, exécuter et libérer les objets (principalement les instructions de configuration devraient être là). Cela rendra votre emplacement de résultat toujours pointé vers votre chemin désiré et vous pouvez voir les résultats. Alors que la configuration du script a le nom du script dans une variable pour créer le résultat le nom du fichier à agir est aussi dynamique

Une autre implémentation Nous pouvons facilement identifier où les résultats sont sauvegardés en utilisant la variable d'environnement intégrée. Donc, programme nous pouvons copier le dossier à l'aide d'objets système de fichiers

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

Je ne suis pas sûr de savoir ce que vous voulez dire. Le code suivant ne peut pas être exécuté à partir d'un script UFT parce qu'il traite un nouvel objet UFT. My reeal questoin est-ce que je peux placer l'instance UFT courante à un objet plutôt que de créer une nouvelle instance? – Lukeriggz

+0

@Lukeriggz: Laissons faire cela via une autre implémentation simple. Avoir les lignes dans la réponse mise à jour à la fin de votre script fera pour vous satisfaire. – mulla

+0

cela me donne une erreur que le chemin ne peut être trouvé. Je crois que c'est parce que peut-être UFT ne fait pas l'emplacement de l'objet d'environnement jusqu'à ce que le test se termine? – Lukeriggz