我正在与Selenium RC合作。
我手动将数据提供给selenium。如下所示
selenium.type("id=username","myName");
selenium.type("id=password","myPassword");
selenium.click("id=login");
但是,我怀疑有没有办法动态获取数据?在这里,我将我的姓名直接发送到selenium.type();
有没有办法从textfile或excel文件等其他地方检索用户名和密码?
有任何帮助吗?
答案 0 :(得分:1)
简短回答 - 是的。
更长的答案 - 您需要对其进行编程。所以不可能使用Selenium IDE,但你可以使用Selenium Webdriver。我在Java中这样做,所以我会给你发一些我的代码片段,我该怎么做。
1)我有特殊的Java Class来保存用户信息:
public class EUAUser {
private String username;
private String password;
private boolean isUsed
public EUAUser(String uname, String pwd){
this.username = uname;
this.password = pwd;
isUsed = false;
}
public String getPassword(){
return password;
}
public String getUsername(){
return username;
}
public void lockUser(){
isUsed = true;
}
}
2)然后我有UserPool来容纳所有用户。到目前为止,因为我只需要5个不同的用户,我通过快速而肮脏的方法来做到这一点:
public class UserPool {
private List<EUAUser> userList = new ArrayList<EUAUser>();
public UserPool(){
userList.add(new EUAUser("firstUser","a"));
userList.add(new EUAUser("MyUsername", "a"));
userList.add(new EUAUser("TestUser", "a"));
userList.add(new EUAUser("TSTUser2", "a"));
}
public EUAUser getNextUser() throws RuntimeException {
for(EUAUser user: userList){
if (!user.isUsed()){
user.lockUser();
return user;
}
}
throw new RuntimeException("No free user found.");
}
3)在测试中,我有类似的东西
UserPool pool = new UserPool();
EUAUser user = pool.getNextUser();
selenium.type("id=username", user.getUserName());
selenium.type("id=password", user.getPassword());
selenium.click("id=login");
以上代码
在我的情况下,它是非常快速和肮脏的方法,但您可以在文件中包含用户列表,并使用fileReader或其他东西将它们加载到UserPool中。只是告诉你如何做到这一点;)