我的自动化框架使用PageFactory
页面对象模型。现在,对于每个页面类,我必须创建一个构造函数。例如:
public class StudentProfile {
public StudentProfile (WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}
}
但是我想创建一个自定义注释。这样我就不必对每一个页面类重复一遍又一遍了
@InitElements(driver)
public class StudentProfile {
// to do
}
@InitElements(driver)
public class SchoolHomePage {
// to do
}
我经历过以下的事情,但是我不明白我该如何去实现它?
发布于 2020-08-31 10:34:45
基本上你不能。注释API只提供两个原语:
还有第三种选择:Lombok项目,它使用注释,可以动态地在现有文件中生成代码。但这是一门火箭科学--我们(我是核心贡献者之一)为各种编译器编写自定义代码,并做一些几乎不受(直接的)支持的恶作剧,同时还要做大量的维护工作,以确保所有的东西都能正常工作。
这听起来是一个很好的任务,一个定制的,只是你的项目-和没有-其他的lombok添加,我们没有意义地支持。当然,您可以从github中分叉lombok并在必要的情况下添加它,但是我们没有关于如何这样做的教程,我们也不推荐它。
除了lombok (这很棘手),不幸的是,这是一个直截了当的-不可能的-不幸。
https://stackoverflow.com/questions/63675805
复制