簡體   English   中英

如何將值從一種方法傳遞到另一種方法

[英]How to pass the value from one method to another method

我對 Java selenium webdriver 有疑問。 例如:在第 1 頁(個人詳細信息頁面)我正在填寫所有個人詳細信息並使用復選框選擇付款方式(如信用卡或借記卡)。 第 2 頁(派送):填寫派送地址詳細信息。 在第 3 頁(付款頁面):根據第 1 頁的選擇,應自動選擇付款。

我創建了一個包含此頁面方法的類文件。 但我不知道如何將值從一種方法傳遞到另一種方法。

請幫我解決這個問題。

//Class File

package logintest;

//import org.openqa.selenium.By;

public class mobclas 
{
  private static WebElement element=null;

  public static class mobile
  {
    public static WebElement Personal_Details(WebDriver driver)
    {
       //Code 
       driver.findElement(By.id("Name")).sendKeys("Test");  
       driver.findElement(By.id("Mobile_No")).sendKeys("963258741");  
       driver.findElement(By.id("Mail_id")).sendKeys("test@test.com");
       //Payment method selection
       if checkbox true, we have to pass the value to "PaymentPage method"
    }

    public static WebElement DispatchDetails(WebDriver driver)
    {
       //Code
    }
    public static WebElement paymentpage(WebDriver driver)
    {
       //Value
       if true Credit card payment
       else Debit card payment
    }
  }
}

您有兩個選擇:

1.將值作為方法參數傳遞 2.創建類屬性,並在所有類方法中使用它的值。

你試過嗎?

完成詳細信息后重定向到 servlet 並將值存儲在會話中並重定向到下一頁,以便最終您可以對所有先前的詳細信息執行操作。

這里沒有明確的答案,

  1. 你真的需要傳遞這個值嗎? 因為您正在編寫測試用例,所以您必須知道您將在付款詳細信息頁面上選擇什么值,因此創建不同的方法,例如

    Personal_Details_CreditCard(應填寫personalDetail並選擇CreditCard選項)、Personal_Details_DebitCard(應填寫personalDetail並選擇DebitCard選項)、CreditCardPayment(應執行信用卡付款步驟付款頁面)、DebitCardPayment(應在付款頁面執行借記卡付款步驟)

    並按要求的順序調用這些方法。 就像如果您正在調用 Personal_Details_CreditCard 然后調用 CreditCardPayment 進行付款頁面。

  2. 如果要保存狀態變量,那么如果所有方法都是單個類的一部分,則可以在類級別使用實例變量。

  3. 您還可以從您的測試方法中傳遞不同的參數,如 Personal_Details(paymentType) 、 PaymentPage(PaymentType)

所以簡而言之,您的問題沒有直接的答案,這確實是一個設計問題,您應該根據需要選擇合適的設計。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM