我正在使用C#创建一个测试自动化框架。在项目的顶部,我有“using OpenQA.Selenium.Support.PageObjects;”。然而,当我尝试引用PageFactory.initElements(driver,PageName)时,我看到了消息“The name 'PageFactory' does not exist in the current context”。
我认为PageFactory类包含在Selenium.Support NuGet包中。在线教程似乎以与我相同的方式引用PageFactory,没有额外的导入,我是否遗漏了什么?
NuGet软件包:
以下是代码:
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.PageObjects;
using System;
using System.IO;
namespace Framework.TestCases
{
class TestCase
{
[Test]
public void Test()
{
String pathToDrivers = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "\\Drivers";
IWebDriver driver = new ChromeDriver(pathToDrivers);
String searchTerm = "Search Term";
driver.Url = "https://website.com/";
driver.Manage().Window.Maximize();
HomePage homePage = new HomePage(driver);
PageFactory.initElements(driver, homePage);
}
}
}
DotNetSeleniumExtras.PageObjects.Core
之后,您可以通过导入using SeleniumExtras.PageObjects;
来使用PageFactory.InitElement(driver, this)
。 - Suban Dhyako