相关疑难解决方法(0)

Selenium/PageFactory:使用父元素的@FindBy 查找子元素?

我正在尝试将我的 selenium 测试转换为使用页面对象模型(以及扩展名 @FindBy)。我有几个这样的对象定义:

public WebElement objectParent() {
    return driver.findElement(By.name("parent-id")) ;
}

public WebElement objectChild() {
    WebElement elem = objectParent();
    return elem.findElement(By.name("child-id")) ;
}
Run Code Online (Sandbox Code Playgroud)

将父对象转换为 using@FindBy很容易:

@FindBy(name = "parent-id")
WebElement parentObj;
Run Code Online (Sandbox Code Playgroud)

基本上,如果可能的话,我想做这样的事情(我知道这不是真正的代码,这只是一个伪示例:

@FindBy(name = "parent-id")
WebElement parentObj;

@FindBy(parentObj.name = "child-id")
WebElement childObj;
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法过定位的子元素使用的父元素@FindBy?。我需要这样做,因为我的目标是页面上的特定元素,这些元素可能与页面上的其他元素共享相同的名称或类名。谢谢!

java pageobjects selenium-webdriver

3
推荐指数
1
解决办法
4372
查看次数

标签 统计

java ×1

pageobjects ×1

selenium-webdriver ×1