我有一个简单的循环点击测试列表。
循环工作顺利,但我想知道是否可以使用Page-object? 我似乎无法找到其他人是否已经做到了。任何帮助将不胜感激。
这就是我所拥有的
public SeleniumPage ClickLink()
{
IList<IWebElement> Items= PropertiesCollection.driver.FindElements(By.
XPath("html/body/div/div[2]/div/div[1]/div[1]/ul/li"));
foreach (IWebElement Item in Items)
{
Item.ChinsayClick();
System.Threading.Thread.Sleep(2000);
}
return new SeleniumPage();
}
但宁愿有类似的东西。
[FindsBy(How = How.XPath, Using = "html/body/div/div[2]/div/div[1]/div[1]/ul/li")]
public IWebElement List { get; set; }
public SeleniumPage ClickLink()
{
IList<IWebElement> Items= List;
foreach (IWebElement Item in Items)
{
Item.ChinsayClick();
System.Threading.Thread.Sleep(2000);
}
return new SeleniumPage();
}
答案 0 :(得分:0)
看起来这是一个简单的答案,所以我会回答我自己的问题,如果它可以帮助其他人。
我们可以将IList直接添加到PageObject作为
Public IList<IWebElement>
然后从循环(IWebElement List in Lists)
解决方案:
[FindsBy(How = How.XPath, Using = "html/body/div/div[2]/div/div[1]/div[1]/ul/li")]
public IList<IWebElement> Lists { get; set; }
public SeleniumPage()
{
foreach (IWebElement List in Lists)
{
List.ChinsayClick();
System.Threading.Thread.Sleep(2000);
}
return new SeleniumPage();
}