Java 从pageobject返回操作返回哪个pageobject
在我的应用程序中,记录页面有一个“后退”按钮。可以从主页或记录列表页面访问该页面;“后退”按钮应返回到上一页。back方法应该返回什么 一种方法是将一个参数传递给Java 从pageobject返回操作返回哪个pageobject,java,selenium,pageobjects,Java,Selenium,Pageobjects,在我的应用程序中,记录页面有一个“后退”按钮。可以从主页或记录列表页面访问该页面;“后退”按钮应返回到上一页。back方法应该返回什么 一种方法是将一个参数传递给RecordPageObject,以便它跟踪按下back时应该返回的内容。 类RecordPageObject{ T back(Class<T> returnPageObjecType) { click("Back"); // some function to click on Back button.
RecordPageObject
,以便它跟踪按下back时应该返回的内容。
类RecordPageObject{
T back(Class<T> returnPageObjecType) {
click("Back"); // some function to click on Back button.
if (comingFromHome) {
return (T) PageObjectFactory.createHomePageObject();
} else {
return (T) PageObjectFactory.createListPageObject();
}
}
}
选项2是只在Back()
函数中执行单击(“后退”)
,并按如下方式编写调用代码:
RecordPageObject rec = .... // something to land on RecordPage
rec.back();
HomePageObject currentPage = PageObjectFactory.createHomePageObject();
我想,另一种选择是将页面对象的类型作为通用参数传递给
RecordPageObject
,并将其存储为成员。这将避免我们在back()
函数中传递该值。我建议您使用您使用的第一种方法
HomePageObject currentPage = RecordPageObject.back(HomePageObject.class);
这清楚地解释了应用程序的流程,这正是您应该做的。您所采用的第二种方法有一个缺点。您创建页面对象,但是
返回
应该完成该任务!(因为它应该在您的UI中起作用)我建议您使用您使用的第一种方法
HomePageObject currentPage = RecordPageObject.back(HomePageObject.class);
这清楚地解释了应用程序的流程,这正是您应该做的。您所采用的第二种方法有一个缺点。您创建页面对象,但是
返回
应该完成该任务!(因为它应该在您的UI中起作用)简单的答案是:让调用函数跟踪它。更复杂的答案在于继承和接口
。简单的答案是:让调用函数跟踪它。更复杂的答案在于继承和接口
。