![](/img/trans.png)
[英]How to pass value from onOptionsItemSelected method of one class to another class
[英]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 並將值存儲在會話中並重定向到下一頁,以便最終您可以對所有先前的詳細信息執行操作。
這里沒有明確的答案,
你真的需要傳遞這個值嗎? 因為您正在編寫測試用例,所以您必須知道您將在付款詳細信息頁面上選擇什么值,因此創建不同的方法,例如
Personal_Details_CreditCard(應填寫personalDetail並選擇CreditCard選項)、Personal_Details_DebitCard(應填寫personalDetail並選擇DebitCard選項)、CreditCardPayment(應執行信用卡付款步驟付款頁面)、DebitCardPayment(應在付款頁面執行借記卡付款步驟)
並按要求的順序調用這些方法。 就像如果您正在調用 Personal_Details_CreditCard 然后調用 CreditCardPayment 進行付款頁面。
如果要保存狀態變量,那么如果所有方法都是單個類的一部分,則可以在類級別使用實例變量。
您還可以從您的測試方法中傳遞不同的參數,如 Personal_Details(paymentType) 、 PaymentPage(PaymentType)
所以簡而言之,您的問題沒有直接的答案,這確實是一個設計問題,您應該根據需要選擇合適的設計。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.