1

Can i refresh UIMap object ? Problem is I change the location of UI element on and I again try to get the AutomationElement at that time I get AutomationELment but its BoundingRectanle is infinity. So i am assuming that it is not refreshing the UIMap object.

Can anyone please help me on this ?

4

3 に答える 3

1

テストのUIMapsセクションには、おそらく次のようなものがあります。

private MyTestUIMap uiMap;
public MyTestUImap UIMap
{
    get
    {
        if (this.uiMap == null)
        {
            this.uiMap = new MyTestUIMap();
        }
        return this.uiMap;
    }
}

これにより、UIMapオブジェクトが最初に使用されるときにシングルトンが作成されます。更新するには、uiMapオブジェクトをnullに設定して、次回使用するときに再初期化されるようにすることができます。

public void RefreshUIMap() 
{
    this.uiMap = null;
}

UIMapを更新する(新しいインスタンスを取得する)場合は常に、このRefreshUIMapメソッドを呼び出します。

編集
質問をもう一度読んだ後、UIMapオブジェクトインスタンスではなく、UIMap内の単一のオブジェクトを更新したいと思います。MyTestUIMap.uitestでオブジェクトを選択し(FeaturePack 2がインストールされていると仮定)、Search Configurationオブジェクトのプロパティから選択して構成を追加しますAlwaysSearch。オブジェクトがスクリプトで使用されるときはいつでも、テストランナーはバッファからオブジェクトを取得しようとするのではなく、画面上でオブジェクトを再度検索します。

于 2012-06-04T07:51:28.043 に答える
0

Find()any でメソッドを呼び出すとUITestControl、検索を実行または繰り返す必要があります。

通常、Find()メソッドは明示的に呼び出されるのではなく、コントロールを使用して暗黙的に呼び出されます。コントロールを呼び出すFind()と、検索が再評価され、子コントロールをクリアする効果もあります。

于 2014-01-25T10:50:11.430 に答える
-1

SearchConfiguration を Always Search に設定すると、単一のコントロールが更新された値で更新されず、テストが失敗するという問題が修正されました。

this.UIMap.UIItemWindow2.UIItemWindow11.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch);
于 2018-07-23T15:48:45.983 に答える