IList<IWebElement> 可以与 PageObject 一起使用吗?
Can IList<IWebElement> work with PageObject?
我有一个简单的循环,可以点击测试列表。
循环运行流畅,但我想知道是否可以使用页面对象?
我似乎找不到其他人是否做过。任何帮助将不胜感激。
这就是我的
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();
}
看起来这是一个简单的答案,所以如果它可以帮助其他人,我会回答我自己的问题。
我们可以将 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();
}
我有一个简单的循环,可以点击测试列表。
循环运行流畅,但我想知道是否可以使用页面对象? 我似乎找不到其他人是否做过。任何帮助将不胜感激。
这就是我的
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();
}
看起来这是一个简单的答案,所以如果它可以帮助其他人,我会回答我自己的问题。
我们可以将 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();
}