如果我们有更多参数可以通过,我们会怎么做?

时间:2016-05-05 12:55:48

标签: java selenium selenium-webdriver

解释:

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

如果我想添加新用户,则有超过2个差不多17到18个参数l所以它显示奇数以添加所有in()括号。

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

请提出建议..我在这一点上陷入困​​境......如果有任何需要,我会详细解释。 提前致谢

3 个答案:

答案 0 :(得分:1)

为什么不将所有这些变量封装到User对象中,然后只将User对象作为参数传递?

如果您不打算创建对象,使用Java似乎有点奇怪!

答案 1 :(得分:0)

在大辉回答之后,一个例子可能是:

User user = new User();

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

然后在你的方法中:

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

答案 2 :(得分:0)

首先创建一个User Object,为它们编写setter和getter方法,然后在需要时填充对象并将用户对象传递给AddUser方法

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 

}

然后在AddUser方法

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

了解页面工厂模式,它非常简单但非常优雅和有效,如果你计划在java和selenium工作,你将需要它