繁体   English   中英

使用PageObjects的C#Selenium Webdriver:无法使用FindsBy定位对象; 可以使用FindElement查找相同的对象

[英]C# Selenium Webdriver using PageObjects: Unable to locate object using FindsBy; Can find same object using FindElement

我有使用Selenium Webdriver查找对象的C#自动化代码。 此代码有效(请参见下文):

driver.FindElement(By.Id("Cyber Liability_start")).Click();

最近,我们的测试小组投票决定迁移到Page Object Framework。 我现在创建了一个使用Selenium PageObjects库的类。 下面是同一对象,但在页面对象类中。

[FindsBy(How = How.Id, Using = "Cyber Liability_start")]
public IWebElement btnNGP { get; set; }

public void ClickNGP()
{
WaitForLoad();         
btnNGP.Click();
}

但是,当我使用页面对象类运行测试时,出现“没有匹配元素”错误。 因此,Selenium似乎无法找到页面对象。 任何有关如何解决的建议表示赞赏。 谢谢。

问题是因为app.config文件中Page的条目与Page Object Class Name不同。

app.config文件中的条目原为

<add name="PC_ProductsProgramsPage"

而类名是PC_Products_ProgramsPage.cs

当我将app.config文件中的条目更改为“ PC_Products_ProgramsPage”时,成功识别了页面对象。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM