2

MVC2 を使用して開発された Web アプリケーションがあります。Web アプリのすべてのビューの Web テストを記録しています。これらの Web テスト用に別のマシンにインストールされた VS2008 テスト エディションを使用しています。

私の問題は、記録した Web テストがビューで失敗することです。この特定のビューには、2 つのアップロード コントロールが含まれています。

一般的なエラーは -

  1. 要求に失敗しました: 空のパス名は無効です。
  2. 要求が失敗しました: コンテキスト パラメーター '$HIDDEN1.EParamList[0].EParID' がテスト コンテキストで見つかりません

ここで言及したいことの 1 つは、コントローラー メソッドを呼び出すために JSON 呼び出しを使用したことです。ポストバックを避けるためにこれを行いました。ただし、アップロード コントロールに Json 呼び出しを使用していません。そのため、webtest に記録されたアップロード呼び出しで、空の値がメソッドに渡された他のすべてのパラメーターを確認できます。

通常、すべてのビューにはタブが含まれています。たとえば、view1(view1.aspx) にはユーザー コントロール (.ascx) によって表されるタブが含まれています。Telerik のタブストリップは、タブを表すために使用されます。json 呼び出しの場合、メソッドに必要なパラメーターのみが送信され、webtest でも表示されます。ただし、ポスト バック コール (アップロードなど) がある場合は常に、webtest はこの特定のコールのすべてのパラメータを表示します。

4

1 に答える 1

0

コードを見ずに WebTest の何が問題なのかを判断するのは困難です。

1. 要求が失敗しました: 空のパス名は無効です。

この特定のエラー メッセージはこれまで見たことがなかったので、メッセージの意味を推測することしかできません (間違っている可能性があります)。私の提案は、そのエラーの原因となっているリクエストの投稿パラメーターを確認し、「ファイルアップロード」ノードのプロパティを確認することです。そのパラメータに空白のファイル パスがある可能性があります。

2. 要求が失敗しました: コンテキスト パラメーター '$HIDDEN1.EParamList[0].EParID' がテスト コンテキストで見つかりません

これは非常に一般的なメッセージです。これは、現在のリクエストが参照しているコンテキスト パラメータが欠落していることを意味します。これは、非表示フィールド「1」の抽出ルールが正しくない場合に発生します。すべての実行応答をさかのぼって調べると、おそらく (名前は思い出せませんが、詳細と呼ばれていると思います) 失敗した抽出ルールが見つかります。そのルールを修正すると、2 番目の問題が解決するはずです。

私はWebTest の記録と強化のガイドに取り組んでいます。これはあなたにとって興味深いかもしれません。

ありがとう、マチェイ

于 2010-09-08T15:51:09.777 に答える