我是测试的初学者,有一个问题。如果使用属性ReadOnlyCollection<IWebElement>
,如何正确使用FindsBy
。开始测试后,我的收藏集始终为null。这是我在C#中的代码:
[FindsBy(How = How.Name, Using = "role")]
public ReadOnlyCollection<IWebElement> radPercentage { get; }
这是测试网站:http://testwisely.com/demo/survey
我想做这样的事情:
radPercentage[2].Click();
最佳答案
您需要在使用集合之前调用InitElements。传递驱动程序和包含FindsBy属性的类的实例(在我的代码“ this”中)。
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://testwisely.com/demo/survey");
PageFactory.InitElements(driver, this);
IWebElement radio = this.radPercentage[2];
InitElements方法期望属性为IWebElement或IWebElement的IList类型
[FindsBy(How = How.Name, Using = "role")]
public IList<IWebElement> radPercentage;