【问题标题】:Getting null at workbook在工作簿中获取 null
【发布时间】:2016-05-12 07:00:36
【问题描述】:

我是 selenium webdriver 的初学者,我在其中创建了一个主类,我创建了一个可写类的对象,在这些类中我得到了“testSuitName”,然后它进入了可写类。

在可写类中我创建了一个构造函数并传递了字符串,在这些中我得到了值。

之后,当我尝试获取工作簿时,它显示为空,但根据 Windows 操作系统,我给出路径的方式是正确的。此外,在“testSuitePath”中,我得到了我的工作簿。

以下是我在调试时拍摄的快照:

我无法解决问题,我哪里出错了? 谁能帮忙解决一下。

下面是这行写的构造函数:

public WritableData(String testSuitePath, String OBJECT_REPOSITORY_PATH) throws RowsExceededException, WriteException 
    {
        // TODO Auto-generated constructor stub

         try { 
        Workbook wbook = Workbook.getWorkbook(new File(testSuitePath)); 
        WritableWorkbook wwbCopy= Workbook.createWorkbook(new File(testSuitePath),wbook);
         System.out.println("writable workbookC-->" +wwbCopy);
        WritableSheet shSheet=wwbCopy.getSheet("Login");
         System.out.println("writable sheetC-->" +shSheet); 
          } catch (Exception e) { 
             // TODO: handle exception 
             System.out.println("Exception message" + e.getMessage()); e.printStackTrace(); } 
    }

【问题讨论】:

  • 你传递的是绝对路径还是相对路径?
  • @Frank 绝对之一。
  • 好的。您可以在wbook = Workbook.getWorkbook(...) 之前放置以下行并在新行“File workbookFile = new File(testSuitePath)”之后设置断点吗?然后看看你是否真的有一个文件对象。您能否进一步发布您的 testSuitePath?
  • 嗯,如果文件存在,但 Workbook 说找不到,那么可能是文件有问题。工作簿尝试读取它从您的文件创建的 FileInputStream。如果它无法读取它,则会引发带有您提到的消息的 BiffException。尝试删除并重新创建文件。哦,请务必将其存储在旧的 Excel 格式中,因为据我所知,问题扫描是由新格式引起的。
  • 我的错误太愚蠢了,实际上问题在于脚本表名称被称为“登录”,但工作簿表名称不同。所以,这就是它显示空值的原因。无论如何感谢您的努力@Frank :)

标签: java excel selenium


【解决方案1】:

此时您在执行Workbook.getWorkbook(...) 方法之前已暂停,因此该值仍为null

如果您多走一行,您应该会在那里看到一个值。

【讨论】:

  • 之后抛出异常“未找到输入文件”。
  • 嗯,这很清楚,不是吗?确保testSuitePath 包含文件的有效路径。您也应该在原始问题中提到这一点。
  • 是的,我已经给出了正确的路径,这就是为什么我不明白为什么它不采取.. :(
  • 显然您认为它是正确的,但也显然不是。很可能路径是相对的,并且当前目录不是您所期望的。由于您没有向我们展示我们无能为力的价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多