我有一个文本文件,格式如下:
UserName
Password
在两个单独的行。
我试图将用户名输入用户名字段(显然),并将密码输入密码字段。
我的测试过去常常为每个元素定义一个String
元素,并且所有元素都很好,因为我只是调用String元素。问题是我无法检入我的代码,因为它有我的个人活动目录登录信息。所以我试图从文本文件中读取它。我有以下代码来执行此操作:
try
{
FileInputStream fstream = new FileInputStream(".../Documents/userInfo.txt");
// Use DataInputStream to read binary NOT text.
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
int count = 0;
strLine = br.readLine();
count++;
while(strLine!= null)
{
//Enter userName
WebElement userName = driver.findElement(By.id("username"));
userName.clear();
userName.sendKeys(strLine);
System.out.println(strLine);
strLine = br.readLine();
count++;
//Enter Password
WebElement password = driver.findElement(By.id("pword"));
password.clear();
password.sendKeys(strLine);
System.out.println(strLine);
}
in.close();
br.close();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
}
我遇到的问题是它输入了用户名和密码,然后再次运行它,只将密码输入用户名字段。我知道这可能是我看起来很简单的事情。请帮忙。
答案 0 :(得分:2)
您是否尝试过使用java.util.Properties类从文本文件中读取密钥?它专为这些目的而设计,可用于读/写属性
示例代码
Properties prop = new Properties();
prop.load(new FileInputStream(".../Documents/userInfo.txt"));
String userName = prop.getProperty("username");
// Password should always be stored in the char array.
char[] password = null;
if (prop.getProperty("pword") != null) {
password = prop.getProperty("pword").toCharArray();
}
答案 1 :(得分:1)
替换为以下代码:
try
{
FileInputStream fstream = new FileInputStream("c:/Test/userInfo.txt");
// Use DataInputStream to read binary NOT text.
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
int count = 0;
count++;
while((strLine = br.readLine())!= null)
{
//Enter userName
WebElement userName = driver.findElement(By.id("username"));
userName.clear();
userName.sendKeys(strLine);
System.out.println(strLine);
strLine = br.readLine();
count++;
//Enter Password
WebElement password = driver.findElement(By.id("pword"));
password.clear();
password.sendKeys(strLine);
System.out.println(strLine);
}
in.close();
br.close();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
}
}
但是我不明白你为什么要循环。你在文件中只有一个用户名/密码......还是有很多用户名/密码?