Java 如何为诱惑报告设置命名定位器?
我看过一段视频,可以为诱惑报告设置命名定位器 要获取视图$(locatorname)。请单击-passed: 代码如下: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
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")**)