2016-08-30 4 views
1

コントロールを見つけることでいくつかランダムな問題が発生しました。問題は、タブにあるコントロールで発生します。私は選択されていない場合はタブを選択し、コントロールを取得するいくつかのロジックを使用します。Teststack.Whiteはタブの子コントロールを常に見つけるとは限りません

mTarget.Tabs.ATab.FindTab(); 
mTarget.Tabs.ATab.SelectTab(); 
mTarget.Tabs.ATab.FindAndValidateTreeView(); 

コードは常に()メソッドFindTabにタイトルテキストを使用してタブを見つける:

var criteria = SearchCriteria.ByText(mTabTitle); 
mTabPage = mMainWindow.Get<TabPage>(criteria); 

しかし、常にタブタブ内のコントロールを見つけていないたとえば、私は、WPFアプリケーションで3つのリボンのタブを得ましたテスト前に既に選択されています:

// TreeView 
var mTree = TabPage.Items.Find(x => x.Id == TabNames.TREE_ID && x.Name == TabNames.TREE_ID) as Tree; 

同様のランダムな問題子コントロールを見ているときにリボングループのような他のコントロールを使用します。別のタブを選択してテストを再実行すると、私が気づいた唯一のことは失敗しません。

なぜこの問題が発生し、この問題を回避するのですか? 私はキャッシングにデフォルトのホワイトの設定を使用します。

答えて

1

それがすでに発見されたらそれは私がクラス変数に変換することにより、自分のコードを改善しなければならなかったので、制御二時間を見つけるために失敗することがあります。

// TreeView 
if (mTree == null) 
    mTree = TabPage.Items.Find(x => x.Id == TabNames.TREE_ID && x.Name == TabNames.TREE_ID) as Tree; 
関連する問題