0

我有一个具有以下格式的文本文件: 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());
    }

我遇到的问题是它输入了用户名和密码,然后再次运行它,只将密码输入到用户名字段中。我知道这可能是我正在寻找的简单的东西。请帮忙。

4

2 回答 2

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();
        }
于 2013-02-15T22:38:01.970 回答
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());
            }

    }

但是我不明白你为什么要循环。您的文件中只有一个用户名/密码……还是有很多用户名/密码?

于 2013-02-15T22:39:08.383 回答