Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将值从一个方法传递到另一个方法_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何将值从一个方法传递到另一个方法

Java 如何将值从一个方法传递到另一个方法,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我对Java selenium webdriver有疑问。例如:在第1页“个人详细信息”页面,我填写所有个人详细信息,并使用复选框选择信用卡或借记卡等付款方式。 第2页派送:填写派送地址详细信息。 在第3页付款页面:根据第1页的选择,应自动选择付款 我为这个页面创建了一个带有方法的类文件。但我不知道如何将值从一种方法传递到另一种方法 请帮我解决这个问题 //Class File package logintest; //import org.openqa.selenium.By; publ

我对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并在会话中存储值,然后重定向到下一页,以便最终可以对所有以前的详细信息执行操作。

这里没有明确的答案

你真的需要传递这个值吗? 因为您正在编写测试用例,所以您必须知道您将在payment detail页面上选择什么值,所以创建不同的方法,如

个人详细信息信用卡应填写个人详细信息并选择信用卡选项, 个人详细信息DebitCard应填写个人详细信息并选择DebitCard选项, CreditCardPayment应执行信用卡付款步骤付款页面,DebitCardPayment应执行付款页面上的debitCard付款步骤

并按要求的顺序调用这些方法。例如,如果您正在拨打个人信息信用卡,请拨打信用卡付款页面

若要保存状态变量,那个么若所有方法都是单个类的一部分,那个么可以在类级别使用实例变量

您还可以从测试方法中传递不同的参数 如个人详细信息付款类型、付款页面付款类型

总之,你的问题没有明确的答案,这实际上是一个设计问题,你应该根据需要选择合适的设计