我在使用Java硒的自动化测试中使用页面对象模型,并且在使用方法PageFactory.initElements()进行元素初始化时遇到问题,我尝试在测试用例类和构造函数中使用拖曳方式,但是没有工作
如果您能看到我的代码并帮助我,请

编辑:

@Test
public void create(){
 POM1 ride =PageFactory.initElements(driver, POM1.class);
 ride.create_ride();
}

最佳答案

在您的BasePage类(包含Web元素的类)中,添加以下变量类和构造函数:

public class BasePage {
  private final WebDriver driver;

  public BasePage(WebDriver driver) {
    this.driver = driver;
  }


然后在测试类中,添加此WebDriver变量并在打开浏览器后初始化pagefactory:

public class Test {
private static WebDriver driver;


  public void navigateToUrl(String url) {
    WebDriverManager.chromedriver().version("75.0.3770.140").setup(); //this is only applicable if you use the webdriver manager dependency
    driver = new ChromeDriver();
    driver.get(url);
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    basePage = PageFactory.initElements(driver, BasePage.class);
    actions = new Actions(driver);
  }


在随后的方法中,您可以像下面这样调用basePage:

basePage.username.click();

07-27 18:05