0
我有一個類,它創建了excel表單。爲此,我將poi-3.2.jar添加到了classpath中。 我正在使用Eclipse3.7。
我通過使用WindowTester Pro記錄工作臺動作來生成測試用例。 我編輯生成的測試用例,並試圖在其中創建Excel表格,以撰寫測試結果。
如果我使用相同的API從正常的java程序(在該插件本身內),它可以創建excel文件而不會出錯。 但是,當我嘗試從測試用例創建,我收到以下錯誤:只用TestCases獲取NoClassDefFoundError
java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
我已經加入所需的jar文件到lib文件夾,並添加到構建路徑。 爲什麼它從普通的java程序工作,但不能從WindowTester生成的測試用例工作。
這裏是我的代碼:
import com.windowtester.runtime.IUIContext;
import com.windowtester.runtime.swt.UITestCaseSWT;
import com.windowtester.runtime.swt.locator.eclipse.WorkbenchLocator;
public class Configuration extends UITestCaseSWT {
/*
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
IUIContext ui = getUI();
try {
CreateExcelFile file = new CreateExcelFile();
file.CreateExcel();
} catch (Throwable e) {
System.out.println("***** Exception catched.. *****");
// fail("Configuration failed");
e.printStackTrace();
}
ui.ensureThat(new WorkbenchLocator().hasFocus());
}
/**
* Main test method.
*/
public void testConfiguration() throws Exception {
//Test code
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
// ....
}
}
public class CreateExcelFile {
HSSFRow row;
HSSFRichTextString string;
public void CreateExcel() {
try {
String filename = "E:/hello.xls";
HSSFWorkbook hwb = new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet("new sheet");
HSSFRow rowhead = sheet.createRow((short) 0);
string = new HSSFRichTextString("TC_Name");
rowhead.createCell((int) 0).setCellValue(string);
string = new HSSFRichTextString("Result");
rowhead.createCell((int) 1).setCellValue(string);
for (int i = 0; i <= 10; i++) {
row = sheet.createRow((short) i);
string = new HSSFRichTextString("TC_Name" + i);
row.createCell((int) 0).setCellValue(string);
if (i % 2 == 0) {
row.createCell((int) 1).setCellValue(true);
} else {
row.createCell((int) 1).setCellValue(false);
}
}
FileOutputStream fileOut = new FileOutputStream(filename);
hwb.write(fileOut);
fileOut.close();
System.out.println("Your excel file has been generated!");
} catch (Exception ex) {
System.out.println(ex);
}
}
}
誰能幫我。
我不知道窗口測試器的東西,但我的猜測是它使用了不同於你的eclipse classpath的類路徑。包含該jar的構建路徑與您的Window-tester使用的路徑不同。 – Bhaskar
與我的Eclipse.I集成的WindowTester已安裝此插件。 – CharanTej
你可以發佈異常發生的代碼嗎? –