2
最近、SeleniumとQTPの作業を開始しました。私はC#を使用してプログラム的にQTPを停止するためのテストチームからの要件を満たすことが任されています。この小さな実装は、チームが適切に配置したいフレームワークの一部です。QTPの実行を停止するC#
私が間違っていることはわかりませんが、ドキュメントによれば、私がやっていることは技術的にはうまくいくはずですが、そうではありません。
私はテストステータスなどを取得することができますが、テストを中止しようとするとすべてが間違っています。 QTPは応答を停止し、手動でテストを停止することもできません。以下は、私のコードは次のとおりです。
例1
QuickTest.Application qtp = new QuickTest.Application();
if (qtp.Test.IsRunning)
{
MessageBox.Show("Test is running"); // works
qtp.Test.Stop(); // qtp halts and i can't stop execution manually also
}
例2
上記と同じで、私は次のステートメントを使用して、QTPに接続しよう除い:
var app = Marshal.ActivateObject("QuickTest.Application") as QuickTest.Application;
何が間違っていますか?
これまで誰も解決策を見出していませんでしたが、どちらもありませんでしたが、QTPの同じ動作が私にとって共通です。テスト(WinXP、QPT10、Webアドイン)を実行すると、停止/一時停止ボタンで停止または一時停止することはできません。私はそれを押して、QTPがハングアップし、私はプロセスを殺す必要があります。私が使用している作業は、コードフローが渡すことが分かっている部分にブレークポイント(実行時に)を入れています。ブレークポイントから、テストを一時停止または中止できます。 QTPとのインターフェイスにはC#を使用しませんが、ブレークポイントを設定またはトリガするCOMインターフェイスメソッドがありますか? – AutomatedChaos
@AutomatedChaos:ご意見ありがとうございます。回避策を使用してテストを一時停止することはできますが、停止することはできません。私はこれが既知の問題であるかどうか私のチームメンバーにHPに尋ねるように頼んだ。私は検索しましたが、何も見つかりませんでした。私もc#、qtpの新機能ですので、これが期待される動作であるかどうかはわかりません。 –
あなたがQTPとC#について初めて知りたいのであれば、[QTPでのイベント割り込みの作成](http://www.advancedqtp.com/wp-content/uploads/yassa/event-interrupt- in-qtp.pdf)。あなたの問題に関連しているわけではありませんが、それは素敵で教育的な読書であり、あなたの実際の問題に対する解決策を考え出すでしょう。 – AutomatedChaos