FindsBy没有为变量赋值

时间:2018-01-31 11:05:36

标签: c# selenium

我只是刚刚发现了'发现''在页面模型中,我试图让它适用于页面。我很难获得使用' FindsBy'来获得的价值。分配给变量I' m创建。

using OpenQA.Selenium;
using OpenQA.Selenium.Support.PageObjects;

[FindsBy(How = How.Id, Using = "viewMenu")]
private IWebElement ViewMenuLink;

//define functions to click elements on the page
public void ClickViewMenu()
{ ViewMenuLink.Click(); }

我看到一个错误,指出从未分配ViewMenuLink字段,并且其默认值始终为null。我错过了一些明显的东西吗?我对'FindsBy'的理解用法是将其值分配给' ViewMenuLink'。在任何提示之前都要感谢!

1 个答案:

答案 0 :(得分:1)

通常的模式是使用PageFactory.InitElements来初始化用FindsBy标记的所有变量 - 这通常放在构造函数中:

public MyPage(IWebDriver d)
{
     this.driver = d;
     PageFactory.InitElements(d, this);
}