gpt4 book ai didi

c# - 当前上下文中不存在名称 'PageFactory'

转载 作者:太空狗 更新时间:2023-10-29 18:30:44 25 4
gpt4 key购买 nike

我正在用 C# 创建一个测试自动化框架。在项目的顶部,我有“使用 OpenQA.Selenium.Support.PageObjects;”,但是当我尝试引用 PageFactory.initElements(driver, PageName) 时,我看到消息“The name 'PageFactory' does not exist in当前上下文”。

我认为 PageFactory 类包含在 Selenium.Support nu get 包中。在线教程似乎以与我没有额外导入的方式相同的方式引用 PageFactory,有什么我遗漏的吗?

NuGet 包:

  • 使用 Selenium.WebDriver 版本 3.9.1
  • 使用 Selenium。支持版本 3.9.1
  • 使用 NUnit 3.9.0
  • 使用 NUnit3TestAdapter 3.9.0
  • Microsoft.NET.Test.Sdk 15.5.0
  • 代码如下:

    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);
    }
    }
    }

    最佳答案

    万一其他人遇到这个问题,您现在找不到 PageFactory 的原因很简单:它不存在

    也就是说,在 Selenium.Support 的 3.11.0 版本中,PageFactoryExpectedConditions 被标记为过时。在 Selenium.Support 3.12.0 中,它们已被完全删除。关于该主题的更多信息 here .

    解决方案是简单地将 DotNetSeleniumExtras 添加到您的包中,因为它们已移动到单独的 repository 中。 .还可以找到有用的 Dreamescaper 的 fork ( NuGet ) 添加了 .NET Core 支持,直到原始存储库找到所有者。

    关于c# - 当前上下文中不存在名称 'PageFactory',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48734097/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com