繁体   English   中英

如果我们有更多的参数要传递怎么办?

[英]What we do if we have more parameters to pass?

说明:

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,因此在 () 括号中添加所有内容会显示奇怪。

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

请给出建议..我被困在这一点上..如果有任何想要的,那么我会详细解释。 提前致谢

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

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

在 dahui answer 之后,一个例子可能是:

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);
    }

首先创建一个 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 中工作,你将需要它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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