gpt4 book ai didi

java - 如何为@FindBy 注解实现用户类型?

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:48 30 4
gpt4 key购买 nike

我正试图从中得到:

@FindBy(xpath = "//div/span/img")
public WebElement addNew;

@FindBy(xpath = "//tr[2]/td[12]")
public WebElement save;

@FindBy(xpath = "//td/div/input")
public WebElement entryIdel;

@FindBy(xpath = "//textarea")
public WebElement authorFieldel;

@FindBy(xpath = "//td[3]/div/textarea")
public WebElement titleFieldel;

那个:

@FindBy(xpath = "//div/span/img")
public Button addNew;

@FindBy(xpath = "//tr[2]/td[12]")
public Button save;

@FindBy(xpath = "//td/div/input")
public InputBox entryIdel;

@FindBy(xpath = "//textarea")
public InputBox authorFieldel;

@FindBy(xpath = "//td[3]/div/textarea")
public InputBox titleFieldel;

我之前已经为每个元素创建了类,但是当然没有任何反应。我如何创建我的元素类以便我可以使用它而不是 WebElement?

此时InputBox的代码如下:

 import org.openqa.selenium.WebElement;

public class InputBox {

protected WebElement element;

public WebElement getElement() {
return element;
}

public InputBox(WebElement element) {
this.element = element;
// TODO Auto-generated constructor stub
}

public void type(String input) {
clearText();
element.sendKeys(input);
}

public void clearText() {
element.clear();
}

public boolean isEditable() {
return element.isEnabled();
}

String getText() {
return element.getText();
}

String getValue() {
return element.getValue();
}

}

最佳答案

创建 FieldDecorator 的新实现。

当您使用 PageFactory 时,您可能正在调用

 public static void initElements(ElementLocatorFactory factory, Object page)

这会变成

 public static void initElements(FieldDecorator decorator, Object page)

您的 FieldDecorator 的行为可能类似于 DefaultFieldDecorator,只是将代理包装在您的自定义类型中。

在这里查看类(class) [source]

关于java - 如何为@FindBy 注解实现用户类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478592/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com