0

テストのシーケンスでアクセスできる事前定義されたAPIを介して、TestStandTestsの結果をデータベースに書き込む必要があるソリューションを検討しています。現在、テスト結果がデータベースに書き込まれる方法は、ODBCを介して、SQLステートメントをTestStandに明示的に書き込むことです。代わりに、.Netでアプリケーションを記述し、それらのSQLステートメント呼び出しをその中にカプセル化したいと思います。

これはまったく実行可能ですか?アプリケーションを作成し、DLLをビルドし、それをTestStandにロードし、.NetAdpaterを介してテストのシーケンスで使用できるようにすることはできますか。

プロセスをさらに悪化させるために、実際の.Netアプリケーションは、データベースへの実際の書き込みを行うWebサービスを消費します。

これはTestStandでの初めての経験であり、正しい方向に進んでいるかどうかはわかりません。私がふるいにかけたドキュメントのほとんどは、サードパーティのオブジェクト(.Net、Active X、または任意のDLL)を介してデータベースの相互作用を外部化することを示唆していないようです。

これについてのコメントをいただければ幸いです

ケンありがとうございます。

4

2 に答える 2

2

.NETアプリケーション/ライブラリが完全に機能している(データベースなどに書き込むことができる)限り、TestStandの.NETモジュールアダプタを使用して.NETアセンブリを完全に呼び出すことができます。問題はないはずです。

私がお勧めすることの1つ:.NETステップをどこに置くかは、テストされている特定のデバイスに対してのみ(つまり、1つのシーケンスから)データベースの相互作用を発生させるか、複数のシーケンスに対してデータベースの相互作用を発生させるかによって異なります。テストされているデバイスのタイプ(つまり、複数のシーケンス/シーケンスファイル)。

これが最初のケースである場合は、クライアントシーケンスファイルに.NETデータベースステップを含める必要があります。後者の場合(実行するシーケンスのデータベースインタラクションが必要な場合)、データベースインタラクションコードを個々のクライアントシーケンスファイルではなく、プロセスモデルに配置することをお勧めします。

于 2012-03-29T18:17:35.870 に答える
1

@JJの答えを拡張する:

ステップの結果をログに記録する場合Edit>>Sequence File Callbacksは、サービスを呼び出すステップを配置するコールバック[]を使用することをお勧めします。

特定のシーケンスファイルのデータのみをログに記録する場合は、ログコードをに配置しますSequenceFilePostResultListEntry

すべてのシーケンスからのステップ結果をログに記録する場合は、独自のカスタムプロセスモデルを作成(または標準モデルの1つを変更)して、を使用する必要がありますProcessModelPostResultListEntry

どちらの場合も、これにより、でマークされたすべてのステップでロギングコードが呼び出されるようになりますRecordResult = True。ステップの結果は、パラメーターとしてコールバックシーケンスに渡されます。ただし、ThisContext.CallerDiscardsResultsコールバックをチェックインして、親のSequenceCallステップで結果の記録が無効になっていないかどうかも確認してください。

個人的には、プロセスモデルアプローチは柔軟性が高いため(およびシーケンス結果全体をログに記録するための他のコールバック)、最善の方法だと思います。

ステップの結果以外のシナリオでデータをログに記録するために使用できる他の種類のコールバック(PreStep、PostStep、PostStepRunTimeErrorなど)があることに注意してください。

于 2013-11-17T15:09:00.997 に答える