2016-07-25 12 views
0

私はregexを使用してWebTestの応答テキストを検証しようとしています。 ValidationRuleFindTextクラスを使用すると、regexを使用してWebリクエストからの応答テキストを検証するオプションがあります。例:Visual Studio 2015:WebTest Regexで応答を確認する

応答テキスト:{「成功」:trueの場合、「データ」:「FOOバー」}誰かのため

ValidationRuleFindText validationRule = new ValidationRuleFindText(); 
validationRule.FindText = @"/(/""success/"":true)/ig"; 
validationRule.IgnoreCase = true; 
validationRule.UseRegularExpression = true; 
validationRule.PassIfTextFound = true; 
foobarRequest.ValidateResponse += new EventHandler<ValidationEventArgs> (validationRule3.Validate); 

validationRule.FindTextが正規表現であることを認識していないと、それは文字通りので失敗レスポンスで/(/ "成功/":真)/ igを見つけることができません。誰もがこれに精通している場合、どんな助けも大いに感謝されるでしょう:)

+0

正規表現を定義するJavaScriptの方法を使用してもよろしいですか? (/ /)。最後にスラッシュとフラグ(ig)を削除してみてください。 – Wazner

+0

うーん、私はわからない、私はスラッシュを削除しようとし、それが動作する場合はお知らせください。私は現時点で負荷試験を行っています。あなたの提案をありがとう! –

答えて

1

これはVisual Studioを使って簡単に解決できます。サンドボックスファイルとして使用できる.webtestファイルを用意してください。正しい設定のテキスト検証ルールを追加して、「コード生成」コマンドを実行します。検証の正しいコードは、生成された.csファイルに表示されます。

質問の例の文字列の場合、検索文字列{"success":true, "data":"foo bar"}は以下の行を生成します。その他の検証ルールの行は、質問と同じです。

validationRule1.FindText = "{\"success\":true, \"data\":\"foo bar\"}"; 

最後に、正規表現を必要とするこの検索文字列については何もありません。非正規表現の検証規則で十分です。


問題の行は、正規表現は、いくつかの他の言語で使用されている方法にアピールしているように見えるvalidationRule.FindText = @"/(/""success/"":true)/ig";を持っています。同封の/文字と末尾のigは使用しないでください。それらの機能は他の手段によって達成される。

+0

ありがとうございます!入力のために:私は今検証が働いている。私はあなたの助けに感謝します! –

関連する問題