为了账号安全,请及时绑定邮箱和手机立即绑定

如何为魅力报告设置命名定位器?

如何为魅力报告设置命名定位器?

jeck猫 2023-07-28 09:34:28
我看过一个视频,可以为魅力报告设置命名定位器以获取视图 $(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")**)然后应该可以使用这个元素。但我不能。当我尝试创建 selenideElement 时,我没有方法。请帮忙。这样的报告更具可读性。视频网址:https://youtu.be/d5gjK6hZHE4?t =1300
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

你的例子似乎不成立。至少,方法as必须返回this。而且,id在重写中findElements丢失了。另外,目前还不清楚为什么要扩展NamedBy而不是By.

无论如何,这只是一个包装By。要在报告中查看这些定位器的名称,您必须先按照视频中的先前示例(事件侦听器)进行操作,然后才能完成NamedBy实施。

PS 为了使其工作方式与代码片段中介绍的方式相同,您必须添加额外的创建逻辑,例如:

public static NamedBy id(String locator) {
    return new NamedBy(By.id(locator));
}


查看完整回答
反对 回复 2023-07-28
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信