2017-02-04 7 views
0

私はVisual Studio 2015 Webパフォーマンステスト(.webtest)を使用しており、チェック番号を参照する8桁の数字をキャプチャする抽出ルールを内部テキストを使用しています。コンテキストパラメータに変換します。Webtest:テスト実行中にコンテキストパラメータを編集する

数字に6桁しか含まれていない場合は、チェック番号の前に2つの空白があります。フォームパラメータでチェック番号を使用しているため、空白スペースをゼロ(0)に切り替える必要があるため、この問題が発生します。

私の質問は、比較を処理する最良の方法は何ですか?コンテキストパラメータ(「CheckNBR」という名前)を編集する方法はありますか、抽出ルールを上書きしてパラメータを操作できますか?おそらくカスタム抽出ルールを作成するのでしょうか?私はちょっとこれにすべての方向に行くとオプションが最もよく動作するかわからない。

[更新] 私は最良の方法を決定する代わりに、コンテキストパラメータの編集に向かって質問を向け直しています。抽出ルールからパラメータを設定したら、どのように編集できますか?

+0

「最良の方法」はありません。このような質問をすると、おそらくトピックから外れます。あなたが言うように、タスクを実行するにはいくつかの方法があります。 – AdrianHHH

+0

@AdrianHHH - 私は、コンテキストパラメータの編集に関する質問を更新しました。 – bigspank

答えて

0

いくつかの考えられる方法があります。

必要なテキストを見つけて必要に応じて変更し、コンテキスト変数に保存するカスタム抽出ルールを作成できます。これは、おそらく最も複雑なバージョンです。

組み込みの抽出ルールを使用するカスタム抽出ルールを作成し、その結果を変更することができます。次のコード(テストされていない、コンパイルされていない)に基づいたコードが動作するはずです。もちろん、ModifyTheTextAsNeededの独自のバージョンを作成する必要があります。次に、オリジナルの代わりに下の抽出を使用するようにWebテストを変更します。

public class ExtractAndModifyHtmlTagInnerText : ExtractHtmlTagInnerText 
{ 
    public override void Extract(object sender, ExtractionEventArgs e) 
    { 
     base.Extract(sender, e); 

     string extractedText = e.WebTest.Context[this.ContextParameterName].ToString(); 
     string modifiedText = ModifyTheTextAsNeeded(extractedText); 
     e.WebTest.Context[this.ContextParameterName] = modifiedText 
    } 
} 

もう1つの方法は、上記の方法の本文の最後の3行に似たものをプラグインに入れることです。抽出ルールのあるものの次のリクエストで使用されるプラグインは、PreRequestかもしれません。

+0

は助けに感謝します。リクエストプラグインを作成するオプションを試し、PostRequestを使用して抽出されたコンテキストパラメータを更新しました。これまでのところ、それは働いています。 – bigspank

関連する問題