2017-05-02 3 views
0

AutomationIDを理解しようとする簡単なMSコード化UIテストと関連するWPFアプリケーションを作成しました。まず、textBoxのXamlコードにAutomationIDを割り当てます。次に、textBoxに入力を記録し、関連するUIMap関数を作成します。最初に、textBoxの検索プロパティで、AutomationIDが正しいです。ただし、xaml AutomationIDを変更した場合、検索プロパティは新しいAutomationIDを取得しません。ここに私のコードとスクリーンショットです:MSコード化されたUIテスト新しいXaml AutomationIDを取得しない検索プロパティ

「XAMLコード:TextBoxのために、私は "TextBoxAutoID01" から "TextBoxAutoID07" にテキストボックスUIMap検索プロパティで

<Grid> 
    <CheckBox x:Name="checkBox" Content="CheckBox" HorizontalAlignment="Left" Margin="176,254,0,0" VerticalAlignment="Top" IsEnabled="True"/> 
    <TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="176,147,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" AutomationProperties.AutomationId="TextBoxAutoID07"/> 

</Grid>` 

をAutoamtionIdを変更し、たAutomationIDはまだありますオリジナルの "TextBoxAutoID01"

enter image description here

そしてUIMap.design.csコードは、新しいれたAutomationIDが更新されていないことを反映しています

public WpfEdit UITextBoxAutoID01Edit 
    { 
     get 
     { 
      if ((this.mUITextBoxAutoID01Edit == null)) 
      { 
       this.mUITextBoxAutoID01Edit = new WpfEdit(this); 
       #region Search Criteria 
       this.mUITextBoxAutoID01Edit.SearchProperties[WpfEdit.PropertyNames.AutomationId] = "TextBoxAutoID01"; 
       this.mUITextBoxAutoID01Edit.WindowTitles.Add("MainWindow"); 
       #endregion 
      } 
      return this.mUITextBoxAutoID01Edit; 
     } 
    } 

この時点で、検索プロパティの更新を行う唯一の方法は、UIMapのコントロールを削除して再度記録することです。

UIMapを再録音しないで新しいxaml AutomationIDを更新する方法についての洞察は非常に高く評価されます。

答えて

0

コード化されたUIテストとWPFアプリケーションは別々で独立しています。一方を変更しても、もう一方は変更されません。 WPFアプリケーションを変更して新しいアプリケーションIDを生成する場合は、Coded UIテストを手動で変更して一致させる必要があります。

コントロールを削除する必要はなく、テストまたはその一部を再記録する必要はありません。検索プロパティの値を変更するだけです。ウィンドウのタイトルは「検索プロパティの編集」です。該当するプロパティの[値]フィールドをクリックして値を変更します。

+0

ありがとうございます!私の唯一の懸念は、他の人が書いたWPFアプリケーションのテストを始めるときだけだと思います。ここで、開発者がAutomationIDを変更すると、CUIT内で対応するものを手動で変更する必要があります。これはもちろん、良いコミュニケーションでは大丈夫ですが、理想的ではありません。 AutomationIDを変更すると、テストコードが破られ、変更されたヘッズアップが与えられます。 – kme

+0

@kme AutomationIDが頻繁に変更されることが予想される場合は、コントロールの他のプロパティ、変更されないものを見つけます。 [検索プロパティの編集]ウィンドウでAutomationIDを削除し、他のプロパティを追加します。 – AdrianHHH

関連する問題