2012-02-22 2 views
2

コード化されたUIフレームワークを使用してテストを作成する場合、ブラウザウィンドウ以外のコンテナを使用してコントロールを検索する利点があります。ブラウザベースのUITestControlコンテナ

説明するには、かなり複雑なhtmlがあり、多くの入れ子があります。どこかHTMLでこのようなものがあります:

<nested tags (lots of them)> 
    <div id='container'> 
     <a lot of nested tags> 
      <div id="control_I_want"></div> 
      <div id="another_control_I_want"></div> 
     </a lot of nested tags> 
    </div> 
</nested tags (lots of them)> 

は、私が最初の「コンテナ」を検索し、検索するためのベースとしてそれを使用した場合、私はどの速くするつもり見つけたい2つのコントロールのための検索です私が望む2つのコントロール?または、私の検索の基盤としてのブラウザーウィンドウから始めるだけで、それほど高速になるでしょうか?私は両方の方法をコーディングしようとしましたが、私の結果は決定的ではありません。

私がテストに使用コード:

HtmlDiv cont = new HtmlDiv(); 
cont.SearchProperties.Add("Id", "container"); 

HtmlDiv div1 = new HtmlDiv(cont); 
div1.SearchProperties.Add("Id", "control_I_want"); 
div1.Find(); 

HtmlDiv div2 = new HtmlDiv(cont); 
div2.SearchProperties.Add("Id", "another_control_I_want"); 
div2.Find(); 

と親コンポーネントとして、ブラウザウィンドウを使用して同じコード:

HtmlDiv div1 = new HtmlDiv(); 
div1.SearchProperties.Add("Id", "control_I_want"); 
div1.Find(); 

HtmlDiv div2 = new HtmlDiv(); 
div2.SearchProperties.Add("Id", "another_control_I_want"); 
div2.Find(); 

あなたの経験から - 他よりもひとつの方法良いですか?残念ながら、CUITのリソースは不足しているため、グーグルは決してこの結論に答えることはできませんでした。

答えて

0

ここではトレードオフが行われていますが、これはアプリケーションと将来の開発がどのように見えるかによって異なります。私は最初のルートに行くことで少しのパフォーマンスの違いがあると思いますが、パフォーマンスの向上のために柔軟性と保守性が緩いです。親コンテナのIDが変更された場合は、テストでも変更する必要がありますが、2番目のオプションを使用すると、テストは正常に実行され続けます。

パフォーマンスが本当に重要だった場合は、最初のルートに進むしかなかったし、親検索のプロパティが変わる可能性は非常に低いと確信していました。それでも、私はおそらく、より多くの/より良いハードウェアをこの問題に投げ込むことに傾くだろう。しかし、私は一意の検索プロパティを持たないコントロールで作業しているときに最初のオプションを使用し、小さなコンテナでは適切なコントロールを簡単に選択できます。

関連する問題