/** @see salome.plugins.core.TestDriver */ public int runTest( String testScript, org.objectweb.salome_tmf.data.AutomaticTest pTest, Hashtable argTest, String plugArg) throws Exception { File pFile = new File(testScript); FileInputStream pFileInputStream = new FileInputStream(pFile); Properties test_prop = new Properties(); test_prop.load(pFileInputStream); String strID = test_prop.getProperty("attachment_id"); String strAttachment = test_prop.getProperty("attachment_name"); String strClass = test_prop.getProperty("junit_class"); String meth = test_prop.getProperty("test_meth"); String version = test_prop.getProperty("junit_version"); pFileInputStream.close(); Util.log("[JMeterIntegrationPlugin:runTest] attachment_id = " + strID); Util.log("[JMeterIntegrationPlugin:runTest] attachment_name = " + strAttachment); Util.log("[JMeterIntegrationPlugin:runTest] junit_class = " + strClass); Util.log("[JMeterIntegrationPlugin:runTest] test_meth = " + meth); Util.log("[JMeterIntegrationPlugin:runTest] junit_version = " + version); return 0; // currentJunitAnalyser.runTest(strID, strAttachment, // strClass, meth, testScript, pTest, argTest, plugArg); }
void createJMeterSuitePerformed() { Project pProject = DataModel.getCurrentProject(); TestList pTestList = null; Family pFamily = null; Test pTest = null; DefaultMutableTreeNode pNode = SalomeTMFPanels.getTestDynamicTree().getSelectedNode(); if (pNode == null) { return; } else { SimpleData pData = (SimpleData) pNode.getUserObject(); if (pData instanceof Family) { pFamily = (Family) pData; } else if (pData instanceof TestList) { pTestList = (TestList) pData; } else if (pData instanceof Test) { pTest = (Test) pData; } } if (pTestList != null) { Util.log("Test List selected = " + pTestList.getNameFromModel()); JMeterTester pMeterTester = new JMeterTester(null, true, pProject, true, "", "", "", ""); if (pMeterTester.execute()) { Util.log("[JMeterIntegrationPlugin:editTest] ok pressed"); Attachment pNewattach = pMeterTester.getNewAttachment(); Attachment pSelectedattach = pMeterTester.getSelectedAttachment(); String toWrite = "attachment_id = "; if (pSelectedattach != null) { if (pSelectedattach.equals(pNewattach)) { if (!addAttachmentToProject(pNewattach, DataModel.getCurrentProject())) return; } toWrite += pSelectedattach.getIdBdd() + "\n"; toWrite += "attachment_name = " + pSelectedattach.getNameFromModel() + "\n"; } else { toWrite += "\nattachment_name = \n"; } toWrite += "junit_class = " + pMeterTester.getJunitClass() + "\n"; try { if (!pTestList.isInBase()) { pTestList.updateInModel(pMeterTester.getJunitClass(), "JMETER TEST SUITE"); pFamily.addTestListInDB(pTestList); } // currentJunitAnalyser.createJunitTest(pSelectedattach, // pJunitTester.getJunitClass(), pTestList, toWrite); } catch (Exception e1) { Tools.ihmExceptionView(e1); } } } }
void addTest(String name, String description, String[] idReqs, TestList pSuite, String toWrite) { name = getTestName(name, pSuite, 0); AutomaticTest pTest = new AutomaticTest(name, description, id_plugin); pTest.setConceptorLoginInModel(DataModel.getCurrentUser().getLoginFromModel()); if (Api.isConnected()) { try { pSuite.addTestInDBAndModel(pTest); } catch (Exception e1) { Tools.ihmExceptionView(e1); return; } } File file = null; try { Util.log("[JMeterIntegrationPlugin:AddTest] Create test Script file"); file = writeJunitFile(null, pTest, toWrite); } catch (Exception e2) { Tools.ihmExceptionView(e2); e2.printStackTrace(); return; } Script pScript = new Script(file.getName(), "Junit test script"); pScript.setLocalisation(file.getAbsolutePath()); pScript.setTypeInModel(ApiConstants.TEST_SCRIPT); pScript.setScriptExtensionInModel(pTest.getExtensionFromModel()); // pScript.setPlugArg(""); if (Api.isConnected()) { try { pTest.addScriptInDBAndModel(pScript, file); Util.log( "[JMeterIntegrationPlugin:AddTest] Add Script : " + pScript.getNameFromModel() + " to DB & Model"); } catch (Exception e3) { Tools.ihmExceptionView(e3); return; } } // add associated requirements Vector<ReqManager> reqManagers = pIPlugObject.getReqManagers(); for (ReqManager reqManager : reqManagers) { for (String idReqString : idReqs) { int idReq = new Integer(idReqString).intValue(); reqManager.addReqLinkWithTest(pTest, idReq); } } }
File writeJunitFile( File pFile, org.objectweb.salome_tmf.data.AutomaticTest pTest, String toWtrite) throws Exception { String fileName; if (pFile == null) { Properties sys = System.getProperties(); String tmpDir = sys.getProperty("java.io.tmpdir"); String fs = sys.getProperty("file.separator"); fileName = tmpDir + fs + pTest.getNameFromModel() + ".junit"; pFile = new File(fileName); } else { fileName = pFile.getAbsolutePath(); pFile.delete(); pFile.createNewFile(); } Util.log("[JMeterIntegrationPlugin:writeJunitFile] write " + toWtrite + ", in " + fileName); FileOutputStream fos = new FileOutputStream(pFile); BufferedOutputStream bos = new BufferedOutputStream(fos); byte[] b = toWtrite.getBytes(); bos.write(b, 0, b.length); bos.flush(); bos.close(); // return null; return pFile; }
java.io.File ChoiceOrEdit( AutomaticTest pTest, boolean choice, File pFile, String strID, String strAttachment, String strClass, String meth, String version) { JMeterTester pJMeterTester = new JMeterTester(null, true, pTest, choice, strID, strAttachment, strClass, meth, version); if (pJMeterTester.execute()) { Util.log("[JMeterIntegrationPlugin:editTest] ok pressed"); Attachment pNewattach = pJMeterTester.getNewAttachment(); Attachment pSelectedattach = pJMeterTester.getSelectedAttachment(); String toWrite = "attachment_id = "; if (pSelectedattach != null) { if (pSelectedattach.equals(pNewattach)) { if (!addAttachmentToProject(pNewattach, DataModel.getCurrentProject())) return null; } toWrite += pSelectedattach.getIdBdd() + "\n"; toWrite += "attachment_name = " + pSelectedattach.getNameFromModel() + "\n"; } else { toWrite += "\nattachment_name = \n"; } toWrite += "junit_class = " + pJMeterTester.getJunitClass() + "\n"; toWrite += "test_meth = " + pJMeterTester.getJunitMeth() + "\n"; if (version != null) { toWrite += "junit_version = " + version + "\n"; version = version.trim(); } try { File f = writeJunitFile(pFile, pTest, toWrite); return f; } catch (Exception e) { Tools.ihmExceptionView(e); e.printStackTrace(); return null; } } else { Util.log("[JMeterIntegrationPlugin:editTest] cancel pressed"); return null; } }
boolean addAttachmentToProject(Attachment pAttach, Project pProject) { if (Api.isConnected()) { try { pProject.addAttachementInDBAndModel(pAttach); Util.log( "[JMeterIntegrationPlugin:addAttachmentToSuite] add attach in DB & model : " + pAttach); } catch (Exception exception) { Tools.ihmExceptionView(exception); return false; } } return true; }
/** @see org.java.plugin.Plugin() */ protected void doStart() throws Exception { Util.log("[JMeterIntegrationPlugin:doStart] chargement du plugin"); }
/** @see salome.plugins.core.TestDriver */ public void getHelp() { Util.log("JMeter TestDriver"); }