我看過一個視頻,可以為魅力報告設(shè)置命名定位器以獲取視圖 $(locatorname).click - 通過:有代碼:public class Named extends NamedBy { private final By origin; private String name; public Named(By origin) { this.origin = origin; } public Named as(String name) { this.name = name; } @Override public String toString() { return Objects.nonNull(name) ? name : this.origin.toString(); } @Override public List<WebElement> findElements(SearchContext context) { return new Named(By.id(id)); }}以及元素的代碼:SelenideElement button = $(id("someid").**as("locatorName")**)然后應(yīng)該可以使用這個元素。但我不能。當(dāng)我嘗試創(chuàng)建 selenideElement 時,我沒有方法。請幫忙。這樣的報告更具可讀性。視頻網(wǎng)址:https://youtu.be/d5gjK6hZHE4?t =1300
1 回答

慕斯709654
TA貢獻1840條經(jīng)驗 獲得超5個贊
你的例子似乎不成立。至少,方法as
必須返回this
。而且,id
在重寫中findElements
丟失了。另外,目前還不清楚為什么要擴展NamedBy
而不是By
.
無論如何,這只是一個包裝By
。要在報告中查看這些定位器的名稱,您必須先按照視頻中的先前示例(事件偵聽器)進行操作,然后才能完成NamedBy
實施。
PS 為了使其工作方式與代碼片段中介紹的方式相同,您必須添加額外的創(chuàng)建邏輯,例如:
public static NamedBy id(String locator) { return new NamedBy(By.id(locator)); }
添加回答
舉報
0/150
提交
取消