public void ShouldContain(string name, double price) { _universe.Window.Find <Tab>(FindBy.WpfText("Basket")).Select(); var basketContents = _universe.Window.Find <GridView>("basketOutput"); Assert.True(basketContents.ContainsRow(name, price.ToString("0.00"))); }
public void ShouldBeEmpty() { _universe.Window.Find <Tab>(FindBy.WpfText("Basket")).Select(); var basketContents = _universe.Window.Find <GridView>("basketOutput"); Assert.IsTrue(basketContents.IsEmpty()); }
public static void NotFound(string idOrName, FindBy findBy) { ElementCache.Clear(); UIObject ui = findBy == FindBy.Name ? TryFindElement.ByName(idOrName) : TryFindElement.ById(idOrName); Verify.IsNull(ui, "Expected not to be able to find element with " + findBy.ToString() + " '" + idOrName + "'"); }
public static void Click(IWebDriver driver, string element, FindBy elementType) { switch (elementType) { case FindBy.Id: driver.FindElement(By.Id(element)).Click(); break; case FindBy.Name: driver.FindElement(By.Name(element)).Click(); break; case FindBy.Class: driver.FindElement(By.ClassName(element)).Click(); break; case FindBy.CssSelector: driver.FindElement(By.CssSelector(element)).Click(); break; case FindBy.LinkText: driver.FindElement(By.LinkText(element)).Click(); break; default: throw new ArgumentException(elementType.ToString() + " elementType not recognized."); } }
private void ParsePageConfig(PageObjectConfiguration pageObjectConfig) { PageObjectConfiguration basePage = GetBasePage(pageObjectConfig); if (basePage != null) { ParsePageConfig(basePage); } foreach (ElementConfiguration ec in pageObjectConfig.Elements) { string value = ec.Value; FindBy findBy = ec.FindBy; if (ec.IsParameterized) { Func <string, string[], IWebElement> parameterizedFinder = (str, args) => ParameterizedFindElementBy(value, findBy, args); ec.ParameterizedFinder = parameterizedFinder; } else { Func <string, IWebElement> finder = (str) => FindElementBy(value, findBy); ec.Finder = finder; } _cachedQueries.Add(ec.Name, ec); } foreach (var kp in pageObjectConfig.Values) { pageObjectConfig.Type.GetProperty(kp.Key).SetValue(this, kp.Value, null); } }
private void MakeFind(object sender, MouseButtonEventArgs e) { FindBy findBy = null; switch ((sender as ComboBoxItem).Name) { case "findName": findBy = FindName; break; case "findSurname": findBy = FindSurname; break; case "findAge": findBy = FindAge; break; } listWorkers.ItemsSource = null; listWorkers.Items.Clear(); findBy(); if (listWorkers.Items.IsEmpty) { listWorkers.Items.Add("Not found"); } }
public static bool ClickAndVerifyText(IWebDriver driver, string element, FindBy elementType, string value) { switch (elementType) { case FindBy.Id: //driver.FindElement(By.Id(element)).Click(); break; case FindBy.Name: //driver.FindElement(By.Name(element)).Click(); break; case FindBy.Class: //driver.FindElement(By.ClassName(element)).Click(); break; case FindBy.CssSelector: var target = driver.FindElement(By.CssSelector(element)); if (target.Text.Equals(value)) { target.Click(); return(true); } break; case FindBy.LinkText: //driver.FindElement(By.LinkText(element)).Click(); break; default: throw new ArgumentException(elementType.ToString() + " elementType not recognized."); } return(false); }
public IEnumerable <IElement> GetChildren() { FindBy childrenLocator = new FindBy(How.Xpath, "./*"); IElementSearchConfiguration childrenSearchConfiguration = new SeleniumElementFinder(); childrenSearchConfiguration.FindBy(childrenLocator); return(childrenSearchConfiguration.FindAll()); }
public void ShouldProvideItsTextByCell() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); Assert.AreEqual("Dancer", gridView.TextAt(0, 2)); }
public void ShouldDetermineIfItContainsARowWithTheGivenHeaderAndPropertyCondition() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); Assert.True(gridView.ContainsRow("Name", FindBy.WpfText("Dancer"))); }
public void ShouldBeAbleToRetrieveTheRowIndexForARowWithTheGivenHeaderAndPropertyCondition() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); Assert.AreEqual(2, gridView.IndexOf("Name", FindBy.WpfText("Dancer"))); }
private void SelectInput(FindBy findBy, string input) { var element = _driver.FindElement(ThisBy).FindElement(findBy); element.FindElement(RadioBy).FindElement(ByMethod.XPath, "..").Click(); element.FindElement(InputBy).Clear(); element.FindElement(InputBy).SendKeys(input); }
public void ShouldFindWindowByCondition() { Application application = new ApplicationLauncher().LaunchOrRecycle(EXAMPLE_APP_NAME, EXAMPLE_APP_PATH, Assert.Fail); Window window = application.FindWindow(new AndCondition( FindBy.WpfName("petShopWindow"), FindBy.ControlType(ControlType.Window))); Assert.IsNotNull(window.Element); }
public void ShouldBeAbleToRetrieveTheElementReferencedByColumnAndRow() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); var cell = gridView.ElementAt <Label>(0, 2); Assert.AreEqual("Dancer", cell.Text); }
public void ShouldProvideAContextMenuIfItExists() { var window = LaunchPetShopWindow(); var label = window.Find <Label>(FindBy.WpfText("(Right-click here to copy an existing pet's details)")); var contextMenu = label .InvokeContextMenu(FindBy.WpfName("copyPetMenu")); contextMenu.Select(contextMenu.Items[0]); }
public void ShouldBeAbleToRetrieveTheElementReferencedByARowWithHeaderMatchingAPropertyConditionFromSecondHeader() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); var cell = gridView.FindReferencedElement <Label>("Name", FindBy.WpfText("Dancer"), "Price"); Assert.AreEqual(54.00.ToString("0.00"), cell.Text); }
public void ShouldAllowTextToBeRetrievedFromBlock() { Window window = LaunchPetShopWindow(); window.Find <Tab>(FindBy.WpfText("History")).Select(); var block = window.Find <TextBlock>("historyDescription"); Assert.AreEqual("A short summary of what has already happened:", block.Text); }
public void ShouldScrollUntilCheckIsTrue() { var tab = LaunchPetShopWindow().Find <Tab>(FindBy.WpfText("Accessories")); tab.Select(); var scrollViewer = tab.Find <ScrollViewer>(new PropertyCondition(AutomationElement.IsScrollPatternAvailableProperty, true)); scrollViewer.ScrollDown(s => s.Contains(FindBy.WpfText("Flea powder")), s => Assert.Fail("Should have found row")); }
public void ShouldDetermineIfItContainsARow() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); Assert.IsTrue(gridView.ContainsRow("Dancer", "Rabbit", 54.00.ToString("0.00"), "False")); Assert.IsFalse(gridView.ContainsRow("Prancer", "Reindeer", 30.00.ToString("0.00"), "False")); }
public void ShouldProvideAllAvailableText() { _window = LaunchPetShopWindow(); _window.Find <Tab>(FindBy.WpfText("History")).Select(); var gridView = _window.Find <GridView>("lastPetsOutput"); Assert.AreEqual(3 * 4, gridView.AllText.Length); Assert.AreEqual("Dancer", gridView.AllText[2, 0]); }
public void ShouldAllowTabToBeSelected() { var tab = LaunchPetShopWindow().Find <Tab>(FindBy.WpfText("History")); Assert.False(tab.HasFocus()); tab.Select(); Assert.True(tab.HasFocus()); }
public void ShouldAllowTextToBeEnteredIntoTheTextBox() { Window window = LaunchPetShopWindow(); window.Find <Tab>(FindBy.WpfText("History")).Select(); var box = window.Find <RichTextBox>("historyInput"); box.Text = "Gooseberry Bear"; Assert.AreEqual("Gooseberry Bear", box.Text); }
public Upload(FindBy type, string locator) : base(type, locator) { try { Browser.Current.WaitForElementPresent(Locator); Browser.Current.ScrollToElement(Locator); Element = GetElement(); } catch (NoSuchElementException) {} }
public void ShouldHandleFailureToScroll() { var tab = LaunchPetShopWindow().Find <Tab>(FindBy.WpfText("Accessories")); tab.Select(); var scrollViewer = tab.Find <ScrollViewer>(new PropertyCondition(AutomationElement.IsScrollPatternAvailableProperty, true)); var complained = false; scrollViewer.ScrollDown(s => false, s => complained = true); Assert.True(complained, "Should have handled failure to scroll"); }
private DateSelectPartial SendKeysToField(FindBy typeBy, int index, string input) { var element = _driver.FindElement(ThisBy) .FindElement(typeBy) .FindElements(SelectorsBy)[index]; element.Click(); element.Clear(); element.SendKeys(input); return(this); }
public PetRegistrySteps ByCopying(string name) { // Need to click *off* the current text box to save the details // This is a Microsoft WPF thing, not a WiPFlash thing. _universe.Window.Find <TextBox>("petPriceInput").Element.SetFocus(); _universe.Window.Find <TextBox>("petNameInput").Element.SetFocus(); _universe.Window.Find <Label>("copyPetContextTarget") .InvokeContextMenu(FindBy.WpfName("copyPetMenu")) .Select("Pet[" + name + "]"); return(this); }
public void ShouldFindAllMatchingItemsIfRequested() { var window = LaunchPetShopWindow(); var tabs = window.FindAll <Tab>(FindBy.ControlType(ControlType.TabItem)); var tabTitles = tabs.Select(t => t.Title).ToList(); Assert.Contains("Registration", tabTitles); Assert.Contains("History", tabTitles); Assert.Contains("Basket", tabTitles); Assert.Contains("Accessories", tabTitles); }
public void ShouldPassFailureHandlerToChildContainers() { var container = LaunchPetShopWindow(); var complained = true; container.HandlerForFailingToFind = s => complained = true; var childContainer = container.Find <Tab>(FindBy.WpfText("Basket")); childContainer.Find <ComboBox>("Unlikely!"); Assert.True(complained, "Should have handled failure to find using the given handler"); }
public void ShouldWaitForTabToBeSelected() { var tab = LaunchPetShopWindow().Find <Tab>(FindBy.WpfText("History")); new Thread(o => { Thread.Sleep(100); tab.Select(); }).Start(null); Assert.True(tab.WaitFor( (src, e) => tab.HasFocus(), src => Assert.Fail())); }
private List <XElement> FindElement(List <XElement> elements, FindBy findBy, string value) { switch (findBy) { case FindBy.Text: return(FilterElementsByInnerText(elements, null, value, false)); case FindBy.Class: return(FilterElementsByAttributeNameToken(elements, "class", value, false)); case FindBy.Id: return(FilterElementsByAttribute(elements, "id", value, false)); case FindBy.Name: return(FilterElementsByAttribute(elements, "name", value, false)); case FindBy.Value: { var newlist = FilterElementsByAttribute(elements, "value", value, false); newlist.AddRange(FilterElementsByInnerText(elements, "textarea", value, false)); newlist.AddRange(FilterElementsByInnerText(elements, "button", value, false)); return(newlist); } case FindBy.PartialText: return(FilterElementsByInnerText(elements, null, value, true)); case FindBy.PartialClass: return(FilterElementsByAttributeNameToken(elements, "class", value, true)); case FindBy.PartialId: return(FilterElementsByAttribute(elements, "id", value, true)); case FindBy.PartialName: return(FilterElementsByAttribute(elements, "name", value, true)); case FindBy.PartialValue: { var newlist = FilterElementsByAttribute(elements, "value", value, true); newlist.AddRange(FilterElementsByInnerText(elements, "textarea", value, true)); newlist.AddRange(FilterElementsByInnerText(elements, "button", value, true)); return(newlist); } default: return(null); } }
private IWebElement FindElementBy(string query, FindBy findBy = FindBy.Name) { switch (findBy) { case FindBy.Id: return _driver.FindElement(By.Id(query)); case FindBy.Name: return _driver.FindElement(By.Name(query)); case FindBy.XPath: return _driver.FindElement(By.XPath(query)); case FindBy.Href: return _driver.FindElement(By.XPath(string.Format("//*[@href='{0}']", query))); case FindBy.Value: return _driver.FindElement(By.XPath(string.Format("//*[@value='{0}']", query))); default: throw new NotSupportedException(); } }
public bool ClickElement(FindBy by, string identifier, bool throwExceptionIfNotFound = false) { bool result = false; var element = FindElement(by, identifier, throwExceptionIfNotFound); if (element != null) { element.Click(); result = true; } return result; }
public ReadOnlyCollection<IWebElement> GetWebElements(FindBy by, string value) { return GetWebElementsByString(by.ToString(), value); }
public IWebElement GetWebElement(FindBy by, string value) { return GetWebElementByString(by.ToString(), value); }
private IWebElement ParameterizedFindElementBy(string paramQuery, FindBy findBy, params string[] args) { string query = string.Format(paramQuery, args); return FindElementBy(query, findBy); }
private List<XElement> FindElement(List<XElement> elements, FindBy findBy, string value) { switch(findBy) { case FindBy.Text: return FilterElementsByInnerText(elements, null, value, false); case FindBy.Class: return FilterElementsByAttribute(elements, "class", value, false); case FindBy.Id: return FilterElementsByAttribute(elements, "id", value, false); case FindBy.Name: return FilterElementsByAttribute(elements, "name", value, false); case FindBy.Value: { var newlist = FilterElementsByAttribute(elements, "value", value, false); newlist.AddRange(FilterElementsByInnerText(elements, "textarea", value, false)); newlist.AddRange(FilterElementsByInnerText(elements, "button", value, false)); return newlist; } case FindBy.PartialText: return FilterElementsByInnerText(elements, null, value, true); case FindBy.PartialClass: return FilterElementsByAttribute(elements, "class", value, true); case FindBy.PartialId: return FilterElementsByAttribute(elements, "id", value, true); case FindBy.PartialName: return FilterElementsByAttribute(elements, "name", value, true); case FindBy.PartialValue: { var newlist = FilterElementsByAttribute(elements, "value", value, true); newlist.AddRange(FilterElementsByInnerText(elements, "textarea", value, true)); newlist.AddRange(FilterElementsByInnerText(elements, "button", value, true)); return newlist; } default: return null; } }
public ReadOnlyCollection<IWebElement> FindElements(FindBy by, string identifier, bool throwExceptionIfNotFound = false) { ReadOnlyCollection<IWebElement> result = null; if (_instance != null && !string.IsNullOrWhiteSpace(identifier)) { try { switch (by) { case FindBy.ClassName: { result = _instance.FindElements(By.ClassName(identifier)); break; } case FindBy.CssSelector: { result = _instance.FindElements(By.CssSelector(identifier)); break; } case FindBy.Id: { result = _instance.FindElements(By.Id(identifier)); break; } case FindBy.LinkText: { result = _instance.FindElements(By.LinkText(identifier)); break; } case FindBy.Name: { result = _instance.FindElements(By.Name(identifier)); break; } case FindBy.PartialLinkText: { result = _instance.FindElements(By.PartialLinkText(identifier)); break; } case FindBy.TagName: { result = _instance.FindElements(By.TagName(identifier)); break; } case FindBy.XPath: { result = _instance.FindElements(By.XPath(identifier)); break; } } } catch (NoSuchElementException ex1) { if (throwExceptionIfNotFound == true) { throw ex1; } result = null; } catch (Exception ex) { throw ex; } } return result; }
public WebList(FindBy by, string value) { this.Self = base.GetWebElement(by, value); selection = new SelectElement(Self); }
public static IWebElement FindElement(this IWebElement element, FindBy by, string item, bool throwExceptionIfNotFound = false) { IWebElement result = null; if (element != null && !string.IsNullOrWhiteSpace(item)) { try { switch (by) { case FindBy.ClassName: { result = element.FindElement(By.ClassName(item)); break; } case FindBy.CssSelector: { result = element.FindElement(By.CssSelector(item)); break; } case FindBy.Id: { result = element.FindElement(By.Id(item)); break; } case FindBy.LinkText: { result = element.FindElement(By.LinkText(item)); break; } case FindBy.Name: { result = element.FindElement(By.Name(item)); break; } case FindBy.PartialLinkText: { result = element.FindElement(By.PartialLinkText(item)); break; } case FindBy.TagName: { result = element.FindElement(By.TagName(item)); break; } case FindBy.XPath: { result = element.FindElement(By.XPath(item)); break; } } } catch (NoSuchElementException ex1) { if (throwExceptionIfNotFound == true) { throw ex1; } result = null; } catch (Exception ex) { throw ex; } } return result; }
public HtmlResult Find(ElementType elementType, FindBy findBy, string value) { return GetHtmlResult(FindElement(elementType, findBy, value)); }
public WebLink(FindBy by, string value) { self = self.ReturnElementTileEnable(() => base.GetWebElement(by, value)); }
public HtmlResult Find(string tagName, FindBy findBy, string value) { return GetHtmlResult(FindElement(FindElements(tagName), findBy, value)); }
private List<XElement> FindElement(ElementType elementType, FindBy findBy, string value) { return FindElement(FindElements(elementType), findBy, value); }
public bool SelectElementByValue(FindBy by, string item, string valToSet, bool throwExceptionIfNotFound = false) { bool result = false; var element = FindElement(by, item, throwExceptionIfNotFound); if (element != null) { new SelectElement(element).SelectByValue(valToSet); result = true; } return result; }
public bool SetText(FindBy by, string item, string textToSet, bool throwExceptionIfNotFound = false ) { bool result = false; var element = FindElement(by, item,throwExceptionIfNotFound); if (element != null) { element.Clear(); element.SendKeys(textToSet); result = true; } return result; }
public static string[] FindUdis(Context ctx, FindBy findMethod, string key, string query) { IntPtr ptr; string [] deviceUdis; int device_count; if(ctx == null) { return new string[0]; } switch(findMethod) { case FindBy.StringMatch: ptr = Unmanaged.libhal_manager_find_device_string_match( ctx.Raw, key, query, out device_count, IntPtr.Zero); break; case FindBy.Capability: ptr = Unmanaged.libhal_find_device_by_capability(ctx.Raw, query, out device_count, IntPtr.Zero); break; case FindBy.MatchAll: default: ptr = Unmanaged.libhal_get_all_devices(ctx.Raw, out device_count, IntPtr.Zero); break; } deviceUdis = UnixMarshal.PtrToStringArray(device_count, ptr); Unmanaged.libhal_free_string_array(ptr); return deviceUdis; }
private IWebElement FindElementBy(string query, FindBy findBy = FindBy.Name) { try { switch (findBy) { case FindBy.Id: return Driver.FindElement(By.Id(query)); case FindBy.Name: return Driver.FindElement(By.Name(query)); case FindBy.XPath: return Driver.FindElement(By.XPath(query)); case FindBy.Href: return Driver.FindElement(By.XPath(string.Format("//*[@href='{0}']", query))); case FindBy.Value: return Driver.FindElement(By.XPath(string.Format("//*[@value='{0}']", query))); case FindBy.LinkText: return Driver.FindElement(By.LinkText(query)); case FindBy.PartialLinkText: return Driver.FindElement(By.PartialLinkText(query)); case FindBy.ClassName: return Driver.FindElement(By.ClassName(query)); default: throw new NotSupportedException(); } } catch (Exception exc) { Log.Info(string.Format("Could not find element with {0} = '{1}'", findBy, query)); } return null; }
public WebCheckBox(FindBy by, string value) { self = base.GetWebElement(by, value); }
public WebInputButton(FindBy by, string value) { self = base.GetWebElement(by, value); }
public WebEdit(FindBy by, string value) { self = base.GetWebElement(by, value); }