gpt4 book ai didi

java - 使用switch语句返回不同的页面实例

转载 作者:行者123 更新时间:2023-12-01 23:38:30 27 4
gpt4 key购买 nike

我对 Java 有点陌生,正在将它与 selenium 一起使用。我有一个通用的页面对象类,它具有执行相同任务的不同方法,但根据您到达那里的方式(即您调用的方法)返回不同的页面。所以我想做的是创建一个带有 switch 语句的方法,它将返回不同的页面实例。

由于页面上的标题文本将反射(reflect)到共享页面的旅程,我想我可以使用 INVOICE_HEADER_IDENTIFIER 作为开关值吗?只是在这种情况下寻找一些指导和最佳实践。

public AccomodationInvoiceDetails searchForStudentAccomodationInvoice(String studentNo){
assertThat(getTextFromElement(INVOICE_HEADER_IDENTIFIER).equals("Create Accommodation Invoice : Select Invoice")).isTrue();
enterTextIntoElement(SELECT_STUDENT_FIELD_IDENTIFIER, "1990514");
clickElement(NEXT_BUTTON_IDENTIFIER);
waitForElementToBeDisplayed(By.id("ANSWER.TTQ.MENSYS.1."), driver, 10);
return new AccomodationInvoiceDetails(driver);
}

public CreditNoteSelectInvoicePage searchForStudentAccomodationCreditNote(String studentNo){
assertThat(getTextFromElement(INVOICE_HEADER_IDENTIFIER).equals("Create Accommodation Credit Note : Select Student")).isTrue();
enterTextIntoElement(SELECT_STUDENT_FIELD_IDENTIFIER, "1990514");
clickElement(NEXT_BUTTON_IDENTIFIER);
waitForElementToBeDisplayed(By.id("ANSWER.TTQ.MENSYS.1."), driver, 10);
return new CreditNoteSelectInvoicePage(driver);
}

最佳答案

你可以试试这个:

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);
}

关于java - 使用switch语句返回不同的页面实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58270643/

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