From 61e0686ebef7f2fe06fa6f08364918581c96b492 Mon Sep 17 00:00:00 2001 From: Tyler Olson Date: Wed, 22 Apr 2020 15:01:13 -0500 Subject: [PATCH 1/5] Fixes to SetValue/SetHeaderValue for DateTimeControl --- .gitignore | 2 ++ Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index 731329e3..58bc6c94 100644 --- a/.gitignore +++ b/.gitignore @@ -251,3 +251,5 @@ paket-files/ .idea/ *.sln.iml *.DotSettings +/Microsoft.Dynamics365.UIAutomation.Sample/UCITesting.cs +/Microsoft.Dynamics365.UIAutomation.Sample/WEBTesting.cs diff --git a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs index 3669f9ab..054f0f3c 100644 --- a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs +++ b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs @@ -2180,9 +2180,15 @@ private bool TrySetValue(IWebDriver driver, ISearchContext container, DateTimeCo TrySetTime(driver, container, control); if (container is IWebElement parent) + { parent.Click(true); + driver.ClearFocus(); // Close Calendar + driver.ClearFocus(); // Close Header control + } else + { driver.ClearFocus(); + } return true; } From 1edb94773ef28c3542e135808f0fd09957606649 Mon Sep 17 00:00:00 2001 From: Tyler Olson Date: Wed, 22 Apr 2020 15:32:49 -0500 Subject: [PATCH 2/5] Changes to support updating Date&Time control (not DateOnly) --- Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs index 054f0f3c..9ec586aa 100644 --- a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs +++ b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs @@ -2159,6 +2159,8 @@ public BrowserCommandResult SetValue(BooleanItem option) /// Datetime format matching Short Date formatting personal options. /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetValue("birthdate", DateTime.Parse("11/1/1980")); + /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); + /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); public BrowserCommandResult SetValue(string field, DateTime value, string formatDate = null, string formatTime = null) { var control = new DateTimeControl(field) From 44996ef6079498eb1804b46ae963e90f7c82b578 Mon Sep 17 00:00:00 2001 From: Tyler Olson Date: Wed, 22 Apr 2020 15:48:44 -0500 Subject: [PATCH 3/5] Added examples --- Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs b/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs index a1736cb9..542c57dd 100644 --- a/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs +++ b/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs @@ -412,6 +412,8 @@ public void SetHeaderValue(BooleanItem control) /// Datetime format matching Short Date formatting personal options. /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetHeaderValue("birthdate", DateTime.Parse("11/1/1980")); + /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); + /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); public void SetHeaderValue(string field, DateTime date, string formatDate = null, string formatTime = null) { _client.SetHeaderValue(field, date, formatDate, formatTime); @@ -481,6 +483,8 @@ public void SetValue(BooleanItem option) /// Datetime format matching Short Date formatting personal options. /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetValue("birthdate", DateTime.Parse("11/1/1980")); + /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); + /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); public void SetValue(string field, DateTime date, string formatDate = null, string formatTime = null) { _client.SetValue(field, date, formatDate, formatTime); From f93d80988366eaae835456c5efb13f86b62853ca Mon Sep 17 00:00:00 2001 From: Tyler Olson Date: Wed, 22 Apr 2020 15:59:57 -0500 Subject: [PATCH 4/5] Example decorating update --- Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs b/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs index 542c57dd..0ff298c2 100644 --- a/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs +++ b/Microsoft.Dynamics365.UIAutomation.Api.UCI/Elements/Entity.cs @@ -412,7 +412,7 @@ public void SetHeaderValue(BooleanItem control) /// Datetime format matching Short Date formatting personal options. /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetHeaderValue("birthdate", DateTime.Parse("11/1/1980")); - /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); + /// xrmApp.Entity.SetHeaderValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); public void SetHeaderValue(string field, DateTime date, string formatDate = null, string formatTime = null) { @@ -484,7 +484,7 @@ public void SetValue(BooleanItem option) /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetValue("birthdate", DateTime.Parse("11/1/1980")); /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); - /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); + /// xrmApp.Entity.SetValue("estimatedclosedate", DateTime.Now); public void SetValue(string field, DateTime date, string formatDate = null, string formatTime = null) { _client.SetValue(field, date, formatDate, formatTime); From ce35a163d3264c72f30cdd1cca4b2741e0c9dcfd Mon Sep 17 00:00:00 2001 From: Tyler Olson Date: Wed, 22 Apr 2020 16:01:11 -0500 Subject: [PATCH 5/5] Comment tweak --- Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs index 9ec586aa..52dfebe9 100644 --- a/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs +++ b/Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs @@ -2160,7 +2160,7 @@ public BrowserCommandResult SetValue(BooleanItem option) /// Datetime format matching Short Time formatting personal options. /// xrmApp.Entity.SetValue("birthdate", DateTime.Parse("11/1/1980")); /// xrmApp.Entity.SetValue("new_actualclosedatetime", DateTime.Now, "MM/dd/yyyy", "hh:mm tt"); - /// xrmApp.Entity.SetHeaderValue("estimatedclosedate", DateTime.Now); + /// xrmApp.Entity.SetValue("estimatedclosedate", DateTime.Now); public BrowserCommandResult SetValue(string field, DateTime value, string formatDate = null, string formatTime = null) { var control = new DateTimeControl(field)