public void PressKey(string keyText, SeleniumCommandArguments search, TimeSpan timeout) { NewPopupWindowHandler popupHandler = new NewPopupWindowHandler(webDriver); PreCheckCurrentWindowHandle(); if (string.IsNullOrEmpty(search.IFrameSearch?.Value) == false) { webDriver.SwitchTo().Frame(FindElement(search.IFrameSearch.Value, search.IFrameBy.Value, timeout)); } IWebElement elem = FindElement(search.Search.Value, search.By.Value, timeout); string convertedText = typeof(Keys).GetFields().Where(x => x.Name.ToLower() == keyText.ToLower()).FirstOrDefault()?.GetValue(null) as string; if (convertedText == null) { throw new ArgumentException($"Wrong key argument '{keyText}' specified. Please use keys allowed by selenium library."); } elem.SendKeys(convertedText); if (string.IsNullOrEmpty(search.IFrameSearch?.Value) == false) { webDriver.SwitchTo().DefaultContent(); } popupHandler.Finish(); }
public void CallFunction(string functionName, object[] arguments, string type, SeleniumCommandArguments search, TimeSpan timeout) { NewPopupWindowHandler popupHandler = new NewPopupWindowHandler(webDriver); PreCheckCurrentWindowHandle(); if (string.IsNullOrEmpty(search.IFrameSearch?.Value) == false) { webDriver.SwitchTo().Frame(FindElement(search.IFrameSearch.Value, search.IFrameBy.Value, timeout)); } IWebElement element = FindElement(search.Search.Value, search.By.Value, timeout); element?.CallFunction(functionName, arguments, type); if (string.IsNullOrEmpty(search.IFrameSearch?.Value) == false) { webDriver.SwitchTo().DefaultContent(); } popupHandler.Finish(); }