public BrowserCommandResult BPFSetValue()

in Microsoft.Dynamics365.UIAutomation.Api.UCI/WebClient.cs [4886:4940]


        public BrowserCommandResult<bool> BPFSetValue(string field, DateTime date, string format = "MM dd yyyy")
        {
            return this.Execute(GetOptions($"Set BPF Value: {field}"), driver =>
            {
                var dateField = AppElements.Xpath[AppReference.BusinessProcessFlow.DateTimeFieldContainer].Replace("[FIELD]", field);

                if (driver.HasElement(By.XPath(dateField)))
                {
                    var fieldElement = driver.ClickWhenAvailable(By.XPath(dateField));

                    if (fieldElement.GetAttribute("value").Length > 0)
                    {
                        //fieldElement.Click();
                        //fieldElement.SendKeys(date.ToString(format));
                        //fieldElement.SendKeys(Keys.Enter);

                        fieldElement.Click();
                        ThinkTime(250);
                        fieldElement.Click();
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(date.ToString(format), true);
                        ThinkTime(500);
                        fieldElement.SendKeys(Keys.Tab);
                        ThinkTime(250);
                    }
                    else
                    {
                        fieldElement.Click();
                        ThinkTime(250);
                        fieldElement.Click();
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Backspace);
                        ThinkTime(250);
                        fieldElement.SendKeys(date.ToString(format));
                        ThinkTime(250);
                        fieldElement.SendKeys(Keys.Tab);
                        ThinkTime(250);
                    }
                }
                else
                    throw new InvalidOperationException($"Field: {field} Does not exist");

                return true;
            });
        }