Могу ли я использовать язык, отличный от VBScript, для программного выполнения тестов QTP?
У меня есть код VBScript, который запускает QuickTest Professional, выполняет серию тестов QTP и отправляет результаты по электронной почте. Это хорошо работает, но я бы предпочел использовать язык с лучшей поддержкой инструментов (например, хорошей IDE). В настоящее время я вызываю библиотеки .Net из сценария запуска, поэтому мне было интересно, можно ли использовать такой язык, как C #, для выполнения той же задачи. Если так, есть ли хорошие ресурсы, которые обращаются к этому? Я мог бы найти очень мало по этой теме через Google, и, похоже, на SO нет других вопросов по этой теме.
Для ясности я включил код для подпрограммы, которая выполняет основную часть работы. Это не относится к декларациям .Net, ноfailedTestsList
а такжеallTestsList
являются примерамиSystem.ArrayList
.
РЕДАКТИРОВАТЬ: Все примеры документации QTP используют VBScript, но, как вы можете видеть, код просто создает объекты QTP. Я бы предположил, что они будут вызываться из другого языка, который поддерживал создание этих объектов. Из моих неудач Google просто кажется, что никто этого не делает.
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