因为在 C# 中不推荐使用 pageFactory。我想知道如何在 C# 上初始化类。我试图通过调用它们@Findby
,然后在测试用例上调用它们,但我不想编写 10thousend 对象。
Pagafactory.Init = Deprecated
如何初始化我的 webobject 所在的 Page 对象
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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句