OK, absolute noob with Testing Framework. First thing I'm trying to do is find a checkbox control on our WPF UI:
System.Diagnostics.Process.Start("OurApplication.exe");System.Diagnostics.Process[] appProcess = proc.GetProcessesByName("OurAppHost");WpfApplication wpfApp = Manager.ConnectToApplication(appProcess[0]);CheckBox chkClientExists;chkClientExists = wpfApp.MainWindow.Find.ByAutomationId<CheckBox>"Existing_Client_Checkbox");Running in debug mode, that last line fails with "Wait for condition has timed out" error. Looks like:
System.TimeoutException was unhandled HResult=-2146233083 Message=Wait for condition has timed out Source=ArtOfTest.WebAii StackTrace: at ArtOfTest.Common.WaitSync.CheckResult(WaitSync wait, String extraExceptionInfo, Object target) at ArtOfTest.Common.WaitSync.For[T](Predicate`1 predicate, T target, Boolean invertCondition, Int32 timeout, WaitResultType errorResultType) at ArtOfTest.WebAii.Silverlight.VisualWait.ForExistsInternal(Int32 timeout, Boolean invertCondition) at ArtOfTest.WebAii.Silverlight.VisualWait.ForExists(Int32 timeout) at ArtOfTest.WebAii.Silverlight.VisualWait.ForVisible(Int32 timeout) at ArtOfTest.WebAii.Silverlight.VisualFind.ReturnOrThrow(FrameworkElement e, String throwMessage) at ArtOfTest.WebAii.Silverlight.VisualFind.ByAutomationId(String id, String xamlTag) at ArtOfTest.WebAii.Silverlight.VisualFind.ByAutomationId[T](String id) InnerException:But if then, while execution is suspended, I copy and paste that line into the Immediate window and execute it there, it returns the checkbox instantly and I'm able to examine all its properties and its children in Locals and Watch.
I have no trouble locating this control in OOB Coded UI by AutomationID, but it's a custom control and there are no properties visible to Coded UI by which we can determine its state. That seems to be determined by child elements (XAML Ellipses apparently) that Coded UI is unable to see. Testing Framework IS able to see them, IF I can get the parent, and I don't seem to be able to get the parent for some reason. At least not in executing code.
Help?
ddk
Hi,
I have tried almost the whole weekend and unfortunately have no success: basically I only want to use the DialogMonitor to handle a simple SaveAs or Open dialog(both are Win32 dialog). I got always the System.TimeOutException after 60000 or after the time timeout specified with the WaitUntilHandled(2000), for example.
Here is the code I used:
[TestMethod] public void Telerik() { TelerikCore.Settings mySettings = new TelerikCore.Settings(); TelerikCore.Manager myManager = new TelerikCore.Manager(mySettings); myManager.Start(); var wpf = System.Diagnostics.Process.GetProcesses().Where(p => p.ProcessName == "WpfApplication1"); if (wpf.Count() != 0) { myManager.ConnectToApplication(wpf.FirstOrDefault()); } else { myManager.LaunchNewApplication(@"D:\WpfApplication1.exe"); } myManager.ActiveApplication.MainWindow.RefreshVisualTrees(); ArtOfTest.WebAii.Win32.Dialogs.SaveAsDialog save = ArtOfTest.WebAii.Win32.Dialogs.SaveAsDialog.CreateSaveAsDialog(myManager.ActiveApplication,DialogButton.SAVE, @"C:\", "Save As"); myManager.DialogMonitor.AddDialog(save); myManager.DialogMonitor.Start(); var saveButton = myManager.ActiveApplication.MainWindow.Find.ByName("SaveButton"); saveButton.User.Click(); save.WaitUntilHandled(); }Please not that the application under test is a simple WPF application with two buttons: one for a SaveAs dialog and the other for a OpenFile dialog.
Is there something wrong with the code?
By the way, I 'm using the latest version of the Telerik Testing Framework.
Great thanks for any tip in advance,
Thank you,
Bo
P.S. the WPF application is attached. Please rename it to an .exe file.
Hi,
is there a build-in handler for a ConfirmDialog of WPF? It seems that the ConfirmDialog(as well as the AlertDialog) in the namespace ArtOfTest.WebAii.Win32.Dialogs only available for a browser.
By the way, I have tried the GenericDialog, but it did not work for me.
Best regards,
Bo
Hi,
I'm searching a build-in handle for MessageBox in WPF, and it is exactly this one: http://docs.telerik.com/teststudio/advanced-topics/coded-samples/general/add-message-box
Would it also be possible to use the DialogMonitor to handle it, or could we create a custom handler for it?
Best regards,
Bo
Hi
The HTML5 viewer is opened on a button click event. I want to validate if this viewer is opened correctly.
for Silverlight viewer i can use the blow code to validate.
SilverlightApp app = man.ActiveBrowser.SilverlightApps()[0];
app.loaded ,can be used to check. Please help me for HTML5 viewer.