我有一个愚蠢的问题。 我用硒自动化一些测试,一些数据在excel表中(就像那样,我会改变它,我保证:p) 有些字段是下拉列表,我可以更改它们,一切正常。其他是常规文本,如果我更改它们我的ExcelReader类只是不注意它并选择旧的值。 我不是一个优秀的专家(我对它没有太多的了解),但任何人都可以猜出这可能的原因吗?
注意:我没有实时检查更改。我正在做不同的执行并观察数据不能改变
答案 0 :(得分:0)
我认为你这样做:
ExcelReader
课程ExcelReader
课程如果是这样,我相信JExcelApi(以及大多数其他Excel库)只会读取电子表格文件一次。也就是说,它不会与文件中随时间发生的任何变化保持同步。您可能必须创建一个线程来监视文件的上次修改日期,并在该日期更改时重新读取它。
new Thread(
new Runnable() {
public void run() {
File file = new File("/path/to/your/spreadsheet");
long previouslyLastModified = file.lastModified();
while (true) {
Thread.sleep(1000); // 1000 milliseconds == 1 second
long lastModified = file.lastModified();
if (lastModified != previouslyLastModified) {
// Reload the spreadsheet
}
previouslyLastModified = lastModified;
}
}
}
).start();
当然,可能有一些库可以更好地观察文件的变化。 Java本身没有观看文件的功能(although it is included in Java 7)。