如何使用 PageObject 模型在 C# 中初始化完整的 class?

How do I initialize a complete class in C# with the PageObject model?

因为 pageFactory 在 C# 中已弃用。我想知道如何在 C# 上初始化 类。我试图通过 @Findby 调用它们,然后在 Testcase 上调用它们,但我不想写 10thouseend 对象。

Pagafactory.Init = Deprecated

如何初始化我的网络对象所在的页面对象

PageObject 存储库示例:

     public class LoginPage {

        private IWebDriver driver;

        public IWebElement LP_Accountfld => driver.FindElement(By.CssSelector("#i0116"));

测试用例:

public void Login (){ //LogIn TestCase

            driver.Navigate().GoToUrl(Variables.URL);
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); 
            var Creator = new CreatorModel();
Creator.LP_Accountbtn.Click();

当我运行代码时,变量

处理初始化对象的正确方法是不要使用 [FindsBy...] 创建它们,而是创建这样的东西,它更流畅、更干净:

public IWebElement  LP_Accountbtn => _driver.FindElement(By.CssSelector("#contentLogin > div:nth-child(1) > form:nth-child(1) > div:nth-child(2) > button:nth-child(1)"));

你称它为:

var Creator = new CreatorModel();
Creator.LP_Accountbtn.Click();