Java 使用switch语句返回不同的页面实例
我对Java有点陌生,我将它与selenium一起使用。我有一个公共页面对象类,它有不同的方法执行相同的任务,但返回的页面不同,这取决于您是如何到达那里的(即,您调用的方法)。所以我想做的是创建一个带有switch语句的方法,该语句将返回不同的页面实例 由于页面上的标题文本将反映到共享页面的旅程,我想我可以使用Java 使用switch语句返回不同的页面实例,java,selenium-webdriver,webdriver,switch-statement,Java,Selenium Webdriver,Webdriver,Switch Statement,我对Java有点陌生,我将它与selenium一起使用。我有一个公共页面对象类,它有不同的方法执行相同的任务,但返回的页面不同,这取决于您是如何到达那里的(即,您调用的方法)。所以我想做的是创建一个带有switch语句的方法,该语句将返回不同的页面实例 由于页面上的标题文本将反映到共享页面的旅程,我想我可以使用INVOICE\u header\u标识符作为开关值?只是想在这种情况下寻求一些指导和最佳实践 公共住宿发票详细信息搜索学生住宿发票(字符串学生编号){ 资产(getTextFromEle
INVOICE\u header\u标识符
作为开关值?只是想在这种情况下寻求一些指导和最佳实践
公共住宿发票详细信息搜索学生住宿发票(字符串学生编号){
资产(getTextFromElement(发票头标识符)。等于(“创建住宿发票:选择发票”)。isTrue();
输入TextIntoElement(选择学生字段标识符,“1990514”);
单击元素(下一步按钮标识符);
waitForElementToBeDisplayed(By.id(“ANSWER.TTQ.MENSYS.1”),司机,10岁;
返回新住宿发票详细信息(驾驶员);
}
public creditnote选择Invoice页面搜索学生账户Creditnote(字符串学生编号){
assertThat(getTextFromElement(发票头标识符).equals(“创建住宿贷记单:选择学生”)).isTrue();
输入TextIntoElement(选择学生字段标识符,“1990514”);
单击元素(下一步按钮标识符);
waitForElementToBeDisplayed(By.id(“ANSWER.TTQ.MENSYS.1”),司机,10岁;
返回新的CreditNoteSelectInvoicePage(驱动程序);
}
您可以试试这个:
public Object searchForStudentAccomodation(String studentNo){
String invoiceHeader = getTextFromElement(INVOICE_HEADER_IDENTIFIER);
switch (invoiceHeader){
case "Create Accommodation Credit Note : Select Student" :
commonInvoiceAction(studentNo);
return new CreditNoteSelectInvoicePage(driver);
case "Create Accommodation Invoice : Select Invoice" :
commonInvoiceAction(studentNo);
return new AccomodationInvoiceDetails(driver);
default :
System.out.println("Invalid invoice header : "+invoiceHeader);
return null;
}
}
public void commonInvoiceAction(String studentNo){
enterTextIntoElement(SELECT_STUDENT_FIELD_IDENTIFIER, studentNo);
clickElement(NEXT_BUTTON_IDENTIFIER);
waitForElementToBeDisplayed(By.id("ANSWER.TTQ.MENSYS.1."), driver, 10);
}
试一下我的解决方案你已经通过给定的解决方案了吗hi@PritamMaske我还没有机会。“我打算今天就做这件事,然后再打给你们。”普里塔玛斯克说,这件事做得很好,谢谢你们。在我的测试中,我只需要对页面进行案例分析。