带有下拉菜单c#的页面对象模型

时间:2018-07-06 09:21:56

标签: c# selenium selenium-webdriver

我写了一个硒测试,现在我要移到页面对象模型。

我了解XPath如何用于页面对象模型

[FindsBy(How = How.CssSelector, Using = "article img")]
private IWebElement clickItem;

但是我现在有一个下拉菜单,它也想制作页面对象模型。我将如何去做。

  private static void SelectElementFromDropDown(IWebElement ele, string text)
  {
      SelectElement select = new SelectElement(ele);
      select.SelectByText(text);

      IWebElement Size = webDriver.FindElement(By.XPath(".//select[@data-id='sizeSelect']"));
      SelectElementFromDropDown(Size, "UK 10 - EU 45 - US 11");
  }

1 个答案:

答案 0 :(得分:0)

您可以将元素分页到工厂,

Class Page{

private IWebDriver driver;

[FindsBy(How = How.CssSelector, Using = "select[data-id='sizeSelect']")]
private IWebElement listBox;

}

然后按如下所示进行测试。

private static void SelectElementFromDropDown(IWebElement ele, string text)
{
      SelectElement select = new SelectElement(ele);
      select.SelectByText(text);

}

您可以在“测试”中致电

var page = new Page();
PageFactory.InitElements(driver, page);
SelectElementFromDropDown(page.listBox, "UK 10 - EU 45 - US 11");