如何在 Selenium 中正确实现 PageFactory 注释?
How do I correctly implement PageFactory annotations within Selenium?
我想做什么:
我目前正在将我的 Selenium(Java) 框架从标准页面对象模型 + Cucumber 设置迁移到 PageFactory + Cucumber 设置。
这是我到目前为止所做的尝试并让它发挥作用:
- 我启动了我的 PageFactory。
- 我导入了所有必需的包和依赖项。
- 我检查了多个在线教程以确保我正确
语法。
这个问题我运行改成了:
我的 IDEA (IntelliJ) 一直给我关于 @FindBy 注释的错误,因此编译失败。
当我将鼠标悬停在我的@FindBy 注释上时,它告诉我“@FindBy 不适用于方法”
当我尝试 运行 我的测试时,每次出现 @FindBy 注释时都会出现以下错误。
"annotation type not applicable to this kind of declaration"
我的问题是关于代码:
package pageObjects;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class AssociatedAlerts {
public AssociatedAlerts(WebDriver driver) {
PageFactory.initElements(driver, this);
}
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected();
}
我一定是遗漏了一些简单的东西,但我似乎无法发现它。
任何帮助将不胜感激。
提前致谢。
您的语法有误:
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected();
firstAlerchCheckboxSelected 不是一种方法。这是一个变量。
改为:
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected;
我想做什么:
我目前正在将我的 Selenium(Java) 框架从标准页面对象模型 + Cucumber 设置迁移到 PageFactory + Cucumber 设置。
这是我到目前为止所做的尝试并让它发挥作用:
- 我启动了我的 PageFactory。
- 我导入了所有必需的包和依赖项。
- 我检查了多个在线教程以确保我正确 语法。
这个问题我运行改成了:
我的 IDEA (IntelliJ) 一直给我关于 @FindBy 注释的错误,因此编译失败。
当我将鼠标悬停在我的@FindBy 注释上时,它告诉我“@FindBy 不适用于方法”
当我尝试 运行 我的测试时,每次出现 @FindBy 注释时都会出现以下错误。 "annotation type not applicable to this kind of declaration"
我的问题是关于代码:
package pageObjects;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class AssociatedAlerts {
public AssociatedAlerts(WebDriver driver) {
PageFactory.initElements(driver, this);
}
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected();
}
我一定是遗漏了一些简单的东西,但我似乎无法发现它。 任何帮助将不胜感激。
提前致谢。
您的语法有误:
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected();
firstAlerchCheckboxSelected 不是一种方法。这是一个变量。
改为:
@FindBy(css = "#Rabo_SelectedBatchSLTransactionrow0 > * > [type = 'checkbox']")
public WebElement firstAlertCheckboxSelected;