当前位置: 首页 > 知识库问答 >
问题:

如何使用TestNG框架和Apache POIJavaWebDriver在Excel中写入数据

阳俊德
2023-03-14

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

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() {
    }
}

共有1个答案

凌永逸
2023-03-14

替换代码中的以下行

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"));

您将获得所需的输出。

 类似资料:
  • 问题内容: 是否可以使用PHP fwrite()将内容附加到.xls文件? 当我使用fwrite()尝试此操作时,生成的文件在Excel 2007中导致错误消息。 我可以使用特定的分隔符来完成此操作吗? 没有第三方库,有可能吗? 问题答案: 您可以使用PhpSpreadsheet库读取现有的Excel文件,向其中添加新的行/列,然后将其写回为真实的Excel文件。 免责声明:我是该库的作者之一。

  • 问题内容: 我想使用Jenkins运行用TestNG框架编写的Selenium测试。 在jenkins job(Freestyle project)中配置的命令: 注意:对于,给定目录路径 当我运行作业(选项)时,它被Selenium的create session活动打中并给出错误。 注意: 同样的命令运行 成功地 从运行时 的命令行 。 控制台输出的错误日志: (jenkins) 以下是测试课程

  • 我想使用Jenkins运行在TestNG框架中编写的Selenium测试。 jenkins作业(Freestyle项目)中配置的命令: 控制台输出的错误日志:(jenkins) 下面是测试类: 以下是: null

  • 在使用Apache POI框架读取excel时,我试图从testng中的dataprovider方法返回一个地图。 我写的代码是这样的 我收到以下错误

  • 我的excel工作表包含5行2列。我想在excel中再添加一列。但当我使用WorkbookFactory时,它显示错误。我导入了poi-3.8。jar和poi-ooxml-3.5-beta5。罐子它在线程“main”java中给出了错误异常。错误:未解决的编译问题:无法解决WorkbookFactory。请帮我做什么。

  • 问题内容: 我有一个Objective- C框架(框架A),该框架公开了一些公共和私有标头。公共头文件也在框架的伞头文件中声明。我有第二个Swift框架(框架B),它与Objective- C框架链接。 现在,如果要在BI中导入A的公共标头,只需要做一个即可。 但是,如何导入私有标头呢? 我知道桥接头不是一个选择,因为框架不支持该头。我是否需要以某种方式为专用标头创建一个单独的伞形标头? 问题答案