Bra*_*ite 8 c# selenium page-factory
我正在用c#创建一个测试自动化框架.在项目中,我有"的顶部使用OpenQA.Selenium.Support.PageObjects;",但是当我尝试引用PageFactory.initElements(驱动程序,页面名称),我看到消息"名'PageFactory’不存在中目前的背景".
我认为PageFactory类是作为Selenium.Support nu get包的一部分包含的.在线教程似乎以与我没有额外导入相同的方式引用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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
如果其他人遇到这个问题,现在找不到 PageFactory 的原因很简单:它不存在。
也就是说,随着 Selenium.Support 的 3.11.0 版本,PageFactory和ExpectedConditions被标记为过时。在 Selenium.Support 3.12.0 中,它们已被完全删除。有关该主题的更多信息,请点击此处。
解决这个问题的方法是简单地将DotNetSeleniumExtras添加到您的包中,因为它们已被移动到单独的存储库。人们还可以找到有用的 Dreamescaper 的分支( NuGet ),它添加了 .NET Core 支持,直到原始存储库找到所有者。
我最终只是创建了一个新项目,并移植了所有内容,但有一点不同,我创建的项目类型是 Visual C# > 测试 > 单元测试项目,之前我创建的项目是 Visual C# > .Net Core > 类库项目(我正在遵循教程)。
我不太确定这是否改变了任何内容,或者只是意味着当我重新下载并安装 NuGet 包时我有一个清晰的项目,但是我现在可以访问 PageFactory 类和相关方法。感谢所有回复的人。
| 归档时间: |
|
| 查看次数: |
4079 次 |
| 最近记录: |