0

皆さん、こんにちは。

現在、MVC.Net を使用して統合テスト ポータルに取り組んでいます。

VB カスタム通信スクリプトを C# サービスに移行しようとしています。多くの新しい QTP スクリプトを正常に移行しましたが、会社が必要とするいくつかのレガシー スクリプトで行き詰まりました。

QTP スクリプト自体は、次の VB コード行を使用してカスタム パラメータが設定されるポイントまで正常にロードされます。

Set oParameters = oQTPApplication.Test.ParameterDefinitions.GetParameters()
oParameters.Item("sEnvironment").Value = sEnvironmentForDataTable

コードが他のさまざまなセットアップを実行すると (QTP を正常に開いて接続した後、変換された行にヒットします。

方法 1:

var parameters = this.Connection.Test.ParameterDefinitions.GetParameters();
parameters["sEnvironment"].Value = this.Test.TestEnvironment;

方法 2:

this.Connection.Test.ParameterDefinitions["sEnvironment"].DefaultValue = this.Test.TestEnvironment;

どちらも例外をスローします。

System.Runtime.InteropServices.COMException

要素が見つかりません。(HRESULT からの例外: 0x8002802B (TYPE_E_ELEMENTNOTFOUND))

System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) で QTObjectModelLib.ParameterDefinitions.get_Item(Object Position) で TestLayer.Tests.Utilities.Qtp5Connection.SetTestSpecificParams() で

インターフェイスが指定されたパラメーターを見つけようとしているようですが、この場合、それが存在しないことは既にわかっているため、パラメーターを追加したいと考えています。スクリプト内で使用しますが、私の人生では-C#でカスタムパラメーターを追加する方法が見つかりません。VBが機能しているため、これは機能していたと思います...

どんな助けでも大歓迎です。

4

1 に答える 1

0

投稿して解決策を見つけて以来、私は問題に取り組み続けています。

実際に方法1を使用しますが、目的のスクリプトが開かれていることを確認する必要があります。接続しているQTPスクリプトは、パラメーターを受け取るように設定する必要があると想定しています。

したがって、これを実現するためにコードで実行した次の手順は次のとおりです。

  1. QTP接続を開きます
  2. QTPスクリプトを開きます
  3. リカバリとリソースの設定-incparam(s)
  4. テストを実行します

これがこの状況で他の誰かに役立つことを願っています。

于 2012-04-17T08:24:27.160 に答える