Puis-je utiliser une autre langue que VBScript à exécuter par programme QTP Tests?
J'ai le code VBScript qui lance QuickTest Professional, exécute une série de QTP tests, e-mails et les résultats. Cela fonctionne bien, mais je préfère utiliser une langue avec de meilleurs outils de soutien (une bonne IDE par exemple). Je suis actuellement en appel .Bibliothèques Net à partir du lancement du script, donc je me demandais si il était possible d'utiliser un langage comme C# pour accomplir la même tâche. Si oui, y at-il de bonnes ressources qui remédier à cela? J'ai pu trouver très peu sur ce sujet via Google et il ne semble pas y avoir d'autres questions sur ce sujet sujet.
Pour plus de clarté, j'ai inclus le code de la routine qui fait le gros du travail. Cela n'inclut pas le .Net déclarations, mais failedTestsList
et allTestsList
sont des instances de System.ArrayList
.
MODIFIER: Tous les QTP quelques exemples de documentation utiliser VBScript, mais comme vous pouvez le voir, le code est juste de la création de la QTP objets. Je suppose que ces serait appelable à partir d'une autre langue qui a soutenu la création de ces objets. Il semble juste de mon Google échecs que personne n'est à faire.
Sub ExecuteQTPTest(name)
Dim App, resultsPath
Dim testPath, testResults
testPath = name
allTestsList.Add(name)
Set App = CreateObject("QuickTest.Application")
App.Launch
App.Visible = False
App.Open testPath
SetQTPTestOptions(App)
SetQTPRunOptions(App)
SetQTPWebOptions(App)
App.Folders.RemoveAll
Dim qtpTest, qtpResultsOpt
Set qtpTest = App.Test
Set qtpResultsOpt = CreateObject("QuickTest.RunResultsOptions")
resultsPath = testPath & "\RES1"
qtpResultsOpt.ResultsLocation = resultsPath
qtpTest.Run qtpResultsOpt ''//Run the test
testResults = "Test Status: " & qtpTest.LastRunResults.Status & vbCrLf & _
"Last Error: " & qtpTest.LastRunResults.LastError & vbCrLf & _
"Detailed Results located at " & qtpTest.LastRunResults.Path & _
" can be viewed with the QTP Results Viewer Tool " & vbCrLf
If qtpTest.LastRunResults.Status <> "Passed" Then
g_testRunPassed = False
failureCount = failureCount + 1
failedTestsList.Add(name)
LogResults testResults, name
End If
qtpTest.Close
Set qtpResultsOpt = Nothing
Set qtpTest = Nothing
App.Quit
Set App = Nothing
End Sub
OriginalL'auteur ssakl | 2009-05-21
Vous devez vous connecter pour publier un commentaire.
Excuses, mais je n'ai pas eu le temps de convertir votre échantillon complet sur C#. J'ai lancé une simple démo qui devrait vous aller. Ce n'utilise C# pour ouvrir un QTP exemple:
Vous aurez besoin de le compiler en les reliant à C:\Program Files\Mercury Interactive\QuickTest Professional\bin\QTObjectModelLib.dll (qui est la .NET bibliothèque d'interopérabilité pour QTObjectModel.dll) et avez et QTObjectModel.dll dans votre répertoire app lorsque vous l'exécutez.
Il ne devrait pas être difficile pour vous de convertir n'importe quel objet des déclarations et des appels de fonction à partir de VBScript pour C#. Veuillez demander si quelque chose n'est pas clair.
À votre autre point sur des échantillons sur l'internet, il ya beaucoup de gens là-bas faire des choses plus avancées avec QTP et au québec, mais je pense que tout a vraiment des solutions intelligentes ne sont pas partagés. J'ai, par exemple, serait probablement être interdit de les partager de telles choses par mon contrat de travail, mais je suis d'accord avec vous qu'il ya un manque de bonne QTP API échantillons à l'extérieur, au moins sur Google. Cela dit, je recommande vivement la SQA Forums pour votre QTP et QC besoins.
Riche
Ce code a fait un travail. Cependant, pour QTP la version 10.0, j'ai dû changer à l'aide de QTObjectModelLib; à l'aide de QuickTest;. J'ai également ajouté une application.Quit() à la fin. C'est un excellent point de départ. Merci!!!!
OriginalL'auteur Xiaofu
OUI, vous pouvez utiliser tout ce qui peut "faire" de la COM, et qui comprend C#.
Aussi VB.NET bien sûr.
et Perl, Python, Javascript et autres.
Sans l'aide de google, vous devrez suivre votre nez, sur la façon de traiter avec l'interface, mais il n'est pas difficile quand vous avez l'exemple existant. Également à votre vendeur, idéalement, sera documenté l'interface COM pour vous.
OriginalL'auteur Cheeso
si cela est encore important pour vous... QTP 11 vous permet de script en C#
OriginalL'auteur Buddha
Veuillez voir la réponse suivante, il va vous donner l'information exacte que vous cherchez à vous connecter à une application en C# avec QTP/UFT:
https://stackoverflow.com/a/19887866/2794121
OriginalL'auteur cREcker