Also verwende ich CodedUI, um einige Anwendungstests durchzuführen, und ich habe das Testframework größtenteils aufgebaut und alles scheint individuell zu funktionieren.Warten, bis eine Anwendung mit CodedUI vollständig geladen ist
Mein Problem ist, dass Ereignisse passieren, bevor die Anwendung vollständig geladen ist, so dass es im Wesentlichen nur auf eine leere Seite klicken.
Ich habe Playback.Wait(x)
verwendet und das scheint nicht den Trick zu tun.
Ich habe auch versucht zu verwenden, aber höchstwahrscheinlich falsch, die WaitForControlExist()
auch ohne echtes Glück.
Extrem neu in CodedUI, vor allem mit dem, wofür ich das verwende. So würde jede Hilfe sehr geschätzt werden.
EDIT nach Kommentaren unten:
Innen CodedUITest1.cs
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.LaunchSoapUI(); //I WANT TO WAIT FOR THIS TO FULLY LOAD BEFORE GOING TO FindAndClickCustomFitNoRetest()
this.UIMap.FindAndClickCustomFitNoRetest();
this.UIMap.ClickPlayBtn();
this.UIMap.EnterEmployeeID();
}
Innen UIMap.Designer.cs
public void LaunchSoapUI()
{
// Launch '%ProgramW6432%\SmartBear\SoapUI-5.3.0\bin\SoapUI-5.3.0.exe'
ApplicationUnderTest soapUI530Application = ApplicationUnderTest.Launch(this.LaunchSoapUIParams.ExePath, this.LaunchSoapUIParams.AlternateExePath);
WaitForAUTLoad(soapUI530Application, 120);
}
public void WaitForAUTLoad(ApplicationUnderTest aut, int WaitTimeOut)
{
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
aut.WaitForControlReady(WaitTimeOut * 1000);
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
}
Ich habe gerade gebucht eine Antwort auf diese gestern. Sehen Sie, wenn das hilft :) http://Stackoverflow.com/a/41838745/5212566 –
@Prageeth Ich habe versucht, es zu implementieren und es scheiterte direkt beim Anruf. Ich verwende einen ApplicationUnderTest statt einen Browser, wie würde ich das ändern, um für mich zu arbeiten? –