Получавам не мога да разпозная грешка в потока ole, докато се опитвам да стартирам своя селен скрипт от Jenkin, но той работи добре, докато го изпълнявам от локално в eclipse. Опитвам се да се свържа с Excel лист в този скрипт, използвайки JXL
Excel вече е записан във формат 97-2003 (знам, че използвам JXL, който не поддържа XLSX) и работи добре в локална машина с помощта на eclipse, но възниква грешка, докато го изпълнявате от Jenkins. Проверих Slave и открих, че Office 2016 е инсталиран на Slave машина, както и в моята локална машина
Трябва да мога да се свържа с xls файл без проблем, тъй като работи добре от моята локална машина. Моля, предложете
Код, използван за свързване на Excel:
import java.io.IOException;
import java.util.Hashtable;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
static Sheet wrksheet;
static Workbook wrkbook =null;
static Hashtable dict= new Hashtable();
private static int iDataSheetRow;
//Create a Constructor
public static void init(String ExcelSheetPath) throws BiffException, IOException
{
//Initialize
wrkbook = Workbook.getWorkbook(new File(ExcelSheetPath));
wrksheet = wrkbook.getSheet(0);
//setiDataSheetRow(0);
}
Регистър на грешките:
jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:221)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at utilities.ExcelSheetDriver.init(ExcelSheetDriver.java:21)
at smokeTestRun.TC_BarclaysYS.beforeMethod(TC_BarclaysYS.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124