vbscript 이외의 언어를 사용하여 프로그래밍 방식으로 QTP 테스트를 실행할 수 있습니까?
-
23-08-2019 - |
문제
QuickTest Professional을 시작하고 일련의 QTP 테스트를 실행하며 결과를 이메일로 보는 VBScript 코드가 있습니다. 이것은 잘 작동하지만 더 나은 도구 지원 (예 : 좋은 IDE)이있는 언어를 사용하는 것을 선호합니다. 현재 시작 스크립트에서 .NET 라이브러리를 호출하고 있으므로 동일한 작업을 수행하기 위해 C#과 같은 언어를 사용할 수 있는지 궁금합니다. 그렇다면이 문제를 해결하는 좋은 자원이 있습니까? 구글을 통해이 주제에 대해 거의 찾을 수 없으며이 주제에 대한 다른 질문이없는 것 같습니다.
명확성을 위해, 나는 대부분의 작업을 수행하는 루틴에 대한 코드를 포함시켰다. 여기에는 .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
해결책
사과하지만 전체 샘플을 C#로 변환 할 시간이 없습니다. 나는 당신이 가야 할 간단한 데모를 함께 버렸습니다. 이것은 c#을 사용하여 QTP 인스턴스를 여는 것입니다.
using System;
using QTObjectModelLib;
namespace QtpDemo
{
class QtpDriver
{
[STAThread]
static void Main(string[] args)
{
Application app = new Application();
app.Launch();
app.Visible = true;
}
}
}
C : Program Files Mercury Interactive QuickTest Professional Bin QtobjectModellib.dll (QtobjectModel.dll 용 .NET Interop 라이브러리)에 연결해야합니다. 당신이 그것을 실행할 때.
객체 선언과 기능 호출을 vbscript에서 c#로 변환하는 것은 여기서 어렵지 않아야합니다. 불분명 한 것이 있는지 물어보십시오.
인터넷의 샘플에 대한 다른 시점에는 QTP와 QC를 사용하여 더 많은 고급 작업을하는 사람들이 많이 있지만 실제로는 영리한 솔루션이 공유되지 않았다고 생각합니다. 예를 들어, 나는 고용 계약으로 그러한 것들을 공유하는 것이 금지 될 것이지만, 나는 당신과 동의합니다. 적어도 Google에서 좋은 QTP API 샘플이 부족합니다. 그렇게 말했듯이, 나는 진심으로 추천합니다 SQA 포럼 QTP 및 QC 요구 사항.
부자
다른 팁
예, COM을 "수행"할 수있는 모든 것을 사용할 수 있으며 C#이 포함됩니다. 물론 VB.net.
및 Perl, Python, JavaScript 등.
Google의 도움을받지 않으면 서 인터페이스를 처리하는 방법에 대해 코를 따라야하지만 기존 예제가있는 경우에는 어렵지 않습니다. 또한 귀하의 공급 업체는 이상적으로 COM 인터페이스를 문서화했습니다.
이것이 여전히 당신에게 중요하다면 ... QTP 11은 C#에서 스크립트를 허용합니다.
C# 애플리케이션을 QTP/UFT와 연결하려는 정확한 정보를 제공하므로 다음 답변을 참조하십시오.