私はプログラム的にQTPのテストを実行するためのVBScript以外の言語を使用することはできますか?

StackOverflow https://stackoverflow.com/questions/895342

  •  23-08-2019
  •  | 
  •  

質問

私は、QuickTest Professionalの起動QTPテスト、および電子メール一連の結果を実行するVBScriptコードを持っています。これはうまく動作しますが、私はより良いツールのサポート(例えば良いIDE)で言語を使用することを好むだろう。私は現在、起動スクリプトからの.NETライブラリを呼び出していますので、同じタスクを実行するためにC#などの言語を使用することが可能であった場合、私は思っていました。もしそうなら、これに対処するか良いリソースがあるのですか?私はGoogleのを経由して、このトピックにはほとんど見つけることができるとこのトピックに関するSO上の任意の他の質問があるように思えません。

明確にするために、私は仕事の大半を行うルーチンのコードが含まれています。これは、.NETの宣言が含まれていませんが、failedTestsListallTestsListSystem.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">、私は心からの

リッチ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top