Java 如何为诱惑报告设置命名定位器?

Java 如何为诱惑报告设置命名定位器?,java,allure,selenide,Java,Allure,Selenide,我看过一段视频,可以为诱惑报告设置命名定位器 要获取视图$(locatorname)。请单击-passed: 代码如下: public class Named extends NamedBy { private final By origin; private String name; public Named(By origin) { this.origin = origin; } public Named as

我看过一段视频,可以为诱惑报告设置命名定位器 要获取视图$(locatorname)。请单击-passed:

代码如下:

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时的方法

请帮忙。这样的报告应该更容易阅读


视频URL:

您的示例似乎无效。至少,方法
as
必须返回
this
。此外,重写的
findElements
中缺少
id
。另外,还不清楚为什么要扩展
NamedBy
而不是
By

不管怎么说,这只是一个包装。要在报告中查看这些定位器的名称,在完成
NamedBy
实现之前,必须先在视频(事件侦听器)中遵循前面的示例

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

publicstaticnamedby-id(字符串定位器){
返回新的NamedBy(By.id(locator));
}
SelenideElement button = $(id("someid").**as("locatorName")**)