[英]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.