Beim Erstellen einer codierten UI-Map geben Sie die Anwendung an, die wie folgt gestartet werden muss.Codierter UI-Test kann WPF-Steuerelemente beim programmgesteuerten Start nicht finden
Wenn ich den folgenden Test ausführen, übergibt die codierten UI-Test, nachdem der Lage gewesen, die Kontrollen zu lokalisieren ich bin Angabe. In diesem Fall ist es ein 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));
}
Wenn ich die Launch
UI Aktion löschen, und die App programmatisch starten Sie den Test der ListViewItem
zu lokalisieren nicht in der Lage ist. Der einzige Unterschied ist, dass ich die Aktion Launch
entferne und den folgenden Code zu meinen Tests hinzufüge, sodass sie mit dem gestarteten Fenster initialisiert werden.
[TestInitialize]
public void Setup()
{
string appPath = ApplicationPath.GetApplicationPath();
var app = ApplicationUnderTest.Launch(appPath);
}
Weiß jemand, warum das der Fall wäre?
Mein Beispiel enthält den Test und UI Map generierten Code, habe ich zusätzlichen Inhalt vermisst? Ich werde dein Beispiel ausprobieren und sehen, ob ich mehr Glück habe. Ich schätze das Feedback/Kommentare! –
Es enthält keinen Code für diese Eigenschaften: WpfListItem uIPenAppsLogicModelsDiListItem = this.UIPENWindow.UIDiariesGroup.UIItemList.UIDiaryGroup.UIPenAppsLogicModelsDiListItem; WpfWindow uIDiaryEditorWindow = this.UIDiaryEditorWindow; – MPavlak