私はプログラム的にQTPのテストを実行するためのVBScript以外の言語を使用することはできますか?
-
23-08-2019 - |
質問
私は、QuickTest Professionalの起動QTPテスト、および電子メール一連の結果を実行するVBScriptコードを持っています。これはうまく動作しますが、私はより良いツールのサポート(例えば良い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
解決
謝罪が、私はC#に上に完全なサンプルを変換する時間がありません。私はあなたが軌道に乗る必要があります簡単なデモを一緒に投げました。これはちょうどQTPのインスタンスを開くためのC#を使用します:
using System;
using QTObjectModelLib;
namespace QtpDemo
{
class QtpDriver
{
[STAThread]
static void Main(string[] args)
{
Application app = new Application();
app.Launch();
app.Visible = true;
}
}
}
あなたはそれがCにリンクしてコンパイルする必要があります:\プログラムファイル\マーキュリー・インタラクティブ\ QuickTest Professionalの\ binに\(QTObjectModel.dllの.NET相互運用ライブラリです)QTObjectModelLib.dllとはしているとQTObjectModel.dllを持っていますあなたはそれを実行するアプリのディレクトリます。
あなたが任意のオブジェクトの宣言と関数にC#へのVBScriptからの呼び出しに変換するために、これは、ここからその難しいことではありません。何かが不明だ場合はお問い合わせください。
インターネット上のサンプルについてのあなたの他のポイントに - そこQTPとQCと、より高度なものをやってそこに人々の多くがありますが、私は、任意の本当に賢いソリューションが共有されていないと思います。私は、例えば、おそらく私の雇用契約により、このような事を共有することが禁止されるだろうが、私はあなたに同意 - 良いQTPのAPIサンプルの不足が、少なくともGoogleで、そこにあります。 SQAフォーラムは、あなたのQTPのためのとQCが必要rel="noreferrer">、私は心からの
リッチ
他のヒント
YES、あなたはCOMを「行う」ことができます何かを使用することができ、それはC#のを含んでいます。 また、当然のVB.NETます。
やPerlやPython、JavaScript、および他ます。
Googleからの無助けを借りて、あなたはインターフェイスに対処する方法で、あなたの鼻を追跡する必要がありますが、既存の例を持っている場合には、その難しいことではありません。また、あなたのベンダーは、理想的には、あなたのためのCOMインターフェイスを文書化しています。
... QTP 11は、C#でスクリプトにことができます。
以下の回答を参照してください。