【发布时间】:2017-01-15 05:24:14
【问题描述】:
我使用 Selenium 创建了测试框架并设置了 ExtentReports 以获取测试报告。使用页面对象模型和@FindBy 注释字段为每个页面创建自己的 WebElement 存储。现在我想创建自定义注释@Name
@Name(description = "google main page")
@FindBy(linkText = "Gmail")
private WebElement gmail;
以及它的实现,以便能够在我的报告中稍后使用每个 WebElement 的描述。我有自己的 click() 方法实现
public static void click(WebElement element) {
try{
element.click();
TestReport.addLog(LogStatus.INFO, "Element "+NameImpl.getDescription(element)+" clicked");
} catch (NoSuchElementException e) {
TestReport.addLog(LogStatus.ERROR, "Element "+NameImpl.getDescription(element)+" not found");
}
}
我可以像这里这样通过反射获得类中所有带注释的元素的描述
Is it possible to read the value of a annotation in java?
但无法获取我的点击方法中使用的特定元素的描述。
有什么想法可以实现吗?
【问题讨论】:
标签: java selenium reflection annotations