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;
});
}