简体   繁体   中英

What we do if we have more parameters to pass?

Explanations :

public void login(String userid,String pass)
    {
        driver.findElement(email).sendKeys(userid);
        driver.findElement(password).sendKeys(pass);
        driver.findElement(loginbutton).click();    
    }

If I want to add new user there are more than 2 almost 17 to 18 parameters l so it displays odd to add all in () bracket.

public void AddUser(String UserFName,String UserLName, UserPhone .. etc)
        {
            driver.findElement(Userfname).sendKeys(ufn);
            driver.findElement(UserLname).sendKeys(Uln);
            driver.findElement(phone).sendkeys(phone); .....    
        }

Please give suggestions .. I am stuck at this point .. if any want then I will explain in details. Thanks in advance

Why don't you encapsulate all these variables into a User object, and then just pass around User objects as parameters instead?

It seems kind of strange using Java if you're not going to create objects!

Following dahui answer, an example could be:

User user = new User();

user.setUserFName(userfname);
user.setUserLName(userlname);
user.setPhone(phone);
...

Then in your method:

public void AddUser(User user)
    {
      //Change your code here
      driver.findElement(user).sendKeys(us);
    }

First create an User Object , write setter and getter method for them and then populate the object as and when you want it and pass the user objects to AddUser method

public class User {

private String userFName = null ;
private String userLName = null;
:
:

public String getUserFName()
{
return userFname;

}

public void setUserFname(String name)
{
this.userFName = name;
}

// Do this for all attributes 

}

then in AddUser method

public void AddUser(User usr)
        {
            driver.findElement(Userfname).sendKeys(usr.getUserFName);
            driver.findElement(UserLname).sendKeys(usr.getUln);
            driver.findElement(phone).sendkeys(usr.getphone); 
            .....    
        }

learn about Page Factory pattern also , its very simple but very elegant and effective , you will need it if you are planning to work in java and selenium

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM