我在使用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();