0

存在しないユーザー名でログインしようとすると、正しいエラー メッセージが表示されることを確認する簡単な Web テスト (記録された Web パフォーマンス テスト) を作成しています。

ただし、誤ったログイン情報を処理する 2 種類のエラー メッセージがあります。1 つは存在しないため許可されないすべてのユーザー名用で、もう 1 つは文字「Q」で始まるユーザー名用です (これはいくつかの理由で許可されていません)。

ここで、「テキストの検索」検証ルールを使用し、「テキストの検索」パラメーターの 1 つが見つかった場合にテストに合格する必要があります。その場合、2 番目の「テキストの検索」ルールを無視して、テストに失敗しません。

つまり、「テストの検索」ルールのいずれかが見つかった場合、テストは常にパスする必要があります。

どうすればそれを達成できますか? これに使用できる if,else ステートメントはありますか?

4

2 に答える 2

2

それを行う別の方法は、データバインディングを使用することです。次のような ForbiddenUsers というテーブルのように、Web テスト用に定義されたデータ ソースがある場合:

Username            Message
--------            ------- 
Quasimodo           You are not allowed to use this system.
NonExistent         Who are you?

次に、テストのログイン部分でデータ ソースから {{ForbiddenUsers.Username}} を使用する場合、プロパティ 'Find Text' = {{ForbiddenUsers.Message を使用して、テキスト検索検証ルールを 1 つ追加するだけで済みます。 }}

これにより、目的のタイプのユーザー名に適切なメッセージがマップされます。

于 2011-11-23T09:47:32.650 に答える
0

はい、正しい方向に進んでいます。VS 2010 には条件があります。

  • テストで、右クリックしてAdd Conditionalを選択します。
  • 文字列比較ルールを選択し、[正規表現の使用]をtrueに設定し、[]を^Q.*?$に設定し、[コンテキスト パラメータ名]をユーザー名の値を含むコンテキスト パラメータに設定します。
  • これは、Q で始まるユーザー名に一致します。
  • ログイン リクエストを条件に追加し、適切なテキスト検索ルール (Q-username エラー メッセージを検索する) をリクエストに追加します。

残念ながら、 elseの概念はないので、Conditional ノードのコピーを作成し、そのコピーで、Comparison OperatorNot Equalsに変更し、コピーされたFind Textルールを通常の存在しないノードに一致するように変更する必要があります。ユーザー名のエラー メッセージ。

結果のテストは次のようになります。

-If ( {{username}} equals "^Q.*?$" )
 -http://login request here
  -Validation Rules
   -Find Text                                  <--- match Q-username error message
-If ( {{username}} does not equals "^Q.*?$" )
 -http://login request here
  -Validation Rules
   -Find Text                            <--- match non-existing username error message
于 2011-06-01T09:14:13.953 に答える