Selenium:FindsBy with collection

时间:2016-06-28 14:46:01

标签: c# selenium testing readonly-collection

我是测试的初学者并且有一个问题。如果我使用属性template,如何才能正确使用li。开始测试后,我的集合始终为null。 Heres是我在C#中的代码:

ReadOnlyCollection<IWebElement>

这里正在测试网络:http://testwisely.com/demo/survey

我想做这样的事情:FindsBy

2 个答案:

答案 0 :(得分:2)

在使用该集合之前,您需要调用 InitElements 。传递驱动程序和包含 FindsBy 属性的类的实例(在我的代码&#34;这个&#34;)。

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://testwisely.com/demo/survey");
PageFactory.InitElements(driver, this);
IWebElement radio = this.radPercentage[2];

InitElements方法期望该属性的类型为 IWebElement IList IWebElement

[FindsBy(How = How.Name, Using = "role")]
public IList<IWebElement> radPercentage;

答案 1 :(得分:0)

试试这个。

public void FindStuff()
{
    var stuff = driver.FindElements(By.Name("role"));
    stuff[2].Click();
}