我的测试框架使用 selenium 的 PageFactory 和 Lambok。我想编写一个方面来捕获测试流在运行时遇到的所有 Web 元素。
一个典型的页面如下所示:
@Slf4j
public class MyCustomPage {
@Inject
private IWebDriverSet driverSet;
@Getter
@FindBy(id = PAGE_ROOT)
private WebElement root;
@FindAll({
@FindBy(css = FOOT_BAR),
@FindBy(css = FOOT_BAR_B)
})
private WebElement navBar;
}
@FindBy 确定测试处理的 web 元素。有 50 个这样的页面。
当使用 PageFactory 实例化页面时,webElement 字段被实例化(分配有与 @FindBy 中的值对应的 WebElement 实例)。
我想在实例化后立即捕获这些带有 @FindBy/@FindAll 注释的 webElement。我不想为每个页面类编写单独的切入点。怎么做?