テストレポートのためにSeleniumでテストフレームワークを作成し、ExtentReportsをセットアップしました。各ページのWebElementsの独自のストアを作成するためのフィールドに、使用されたページオブジェクトモデルと@FindByアノテーション。今度はカスタムアノテーションを作成したいと思います。@NameテストレポートのWebElements名のカスタムアノテーション実装
@Name(description = "google main page")
@FindBy(linkText = "Gmail")
private WebElement gmail;
そして、後でレポートの各WebElementの説明を使用できるように実装しています。私は、クリック()メソッドの私の独自の実装を持って、私は
Is it possible to read the value of a annotation in java?
ここのように反射してクラスに注釈を付け、すべての要素の説明を取得することができるよが、特定の要素の説明を取得することはできません
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");
}
}
私のクリックメソッドで使用されます。
これを実現する方法はありますか?