コード化されたUIマップを作成するときに、以下のように起動する必要のあるアプリケーションを指定します。プログラム化されたコード化UIテストでWPFコントロールが見つからない
Iは、以下のテストを実行すると、コード化されたUIテストは、私は指定していコントロールを見つけることができました、通過します。この場合は、ListViewItem
です。
[TestMethod]
public void UserOpensAnExistingDiary()
{
this.UIMap.OpenExistingDiary();
}
public void OpenExistingDiary()
{
#region Variable Declarations
WpfListItem uIPenAppsLogicModelsDiListItem = this.UIPENWindow.UIDiariesGroup.UIItemList.UIDiaryGroup.UIPenAppsLogicModelsDiListItem;
WpfWindow uIDiaryEditorWindow = this.UIDiaryEditorWindow;
#endregion
// Launch '%LOCALAPPDATA%\Pen\app-5.0.6018.18517\Pen.Apps.Desktop.exe'
ApplicationUnderTest penAppsDesktopApplication = ApplicationUnderTest.Launch(this.OpenExistingDiaryParams.ExePath, this.OpenExistingDiaryParams.AlternateExePath);
// Double-Click 'Pen.Apps.Logic.Models.DiaryModels.Diary' list item
Mouse.DoubleClick(uIPenAppsLogicModelsDiListItem, new Point(76, 72));
// Wait for 1 seconds for user delay between actions; Click 'Diary' window
Playback.Wait(1000);
Mouse.Click(uIDiaryEditorWindow, new Point(590, 25));
}
私はLaunch
UIアクションを削除し、プログラムでテストがListViewItem
を見つけることができないアプリを起動した場合。唯一の違いは、私がLaunch
アクションを取り除いて、テストに次のコードを追加することです。そのため、起動されたウィンドウで初期化されます。
[TestInitialize]
public void Setup()
{
string appPath = ApplicationPath.GetApplicationPath();
var app = ApplicationUnderTest.Launch(appPath);
}
これがなぜこのようになるのでしょうか?
私の例には、テストとUIマップで生成されたコードが含まれていますが、追加のコンテンツを見逃しましたか?私はあなたの例を試し、私はより良い運があるかどうかを見ます。私はフィードバック/コメントを感謝します! –
これらのプロパティのコードは含まれていません:WpfListItem uIPenAppsLogicModelsDiListItem = this.UIPENWindow.UIDiariesGroup.UIItemList.UIDiaryGroup.UIPenAppsLogicModelsDiListItem; WpfWindow uIDiaryEditorWindow = this.UIDiaryEditorWindow; – MPavlak