java - 如何使用 TestNG 框架和 Apache POI 通过 WebDriver 使用 Java 在 Excel 中写入数据

标签 java excel apache-poi selenium-webdriver testng

我想将用户名和密码存储在 Excel 中,无论我在使用 WebDriver 的任何应用程序中输入什么内容。我正在使用 TestNG 框架和 Apache POI 将数据写入 Excel。但我收到空指针异常。请告诉我如何将 WebDriver 与 Excel 结合使用。

public class Test {

    private static WebDriver driver;
    static String username="abc";
    static String password="abf123";

    public static void main(String args[]) {
        try {
            driver.get("any url");

            driver.findElement(By.xpath("//*[@id='txtUserName']")).sendKeys(username);

            driver.findElement(By.xpath("//*[@id='txtPwd']")).sendKeys(password);

            FileOutputStream fos = new FileOutputStream("Userpass.xls");

            HSSFWorkbook workbook = new HSSFWorkbook();

            HSSFSheet worksheet = workbook.createSheet("POI WorkSheet");

            HSSFRow row1 = worksheet.createRow((short) 0);

            HSSFCell cell1 = row1.createCell((short) 0);

            cell1.setCellValue(username);

            HSSFCell cell2 = row1.createCell((short) 1);

            cell2.setCellValue(password);

            workbook.write(fos);

            fos.close();

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();
        }
    }
    @Test
    public void f() {
    }
}

最佳答案

替换代码中的以下行

HSSFRow row1 = worksheet.createRow((short) 0);
HSSFCell cell1 = row1.createCell((short) 0);
cell1.setCellValue(username);
HSSFCell cell2 = row1.createCell((short) 1);
cell2.setCellValue(password);

HSSFRow row1 = worksheet.createRow(0);
row1.createCell(0).setCellValue(new HSSFRichTextString("username"));
row1.createCell(1).setCellValue(new HSSFRichTextString("password"));

您将获得所需的输出。

关于java - 如何使用 TestNG 框架和 Apache POI 通过 WebDriver 使用 Java 在 Excel 中写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474598/

相关文章:

java - 无法从方法中获取@override 注释

java - Eclipse SWT java.lang.StackOverflowError : why my listener executes many times?

excel - 获取文本框值的VBA/宏代码

javascript - Excel VBA - 更改 Javascript 函数的值(无参数)

java - 如何将 Excel 中的行插入到 mysql 数据库中?

java - 如何从 pom.xml 中的setting.xml 文件引用密码

java - Spring Boot + jpa + 调度器

sql-server - 打开的对象上的运行时错误 3704

java - 如何确保apache poi xwpf中的ctdocument属性顺序

java - 如何使用Java计算Excel文档的一列中的行数