Forum Discussion

MattiH's avatar
MattiH
Staff
9 years ago

Announcement: Java 7 required for SoapUI Open Source 5.2 (coming soon)

Hi,

 

Dear SoapUI users,

 

We think the time is ripe to drop support for Java 6 in SoapUI Open Source. Sticking to an old an unsupported version of Java is holding us back.

 

As of version 5.2, you will need Java 7 if you want to run SoapUI with your own JRE, e.g. on a Continuous Integration server. We hope this will not cause you any inconvenience.

 

If you're running the installer version of SoapUI, this will not affect you in any way, because we bundle Java 7 in the installation.

 

 

As always, comments are welcome!

 

Best regards,

Matti

8 Replies

  • nmrao's avatar
    nmrao
    Champion Level 3
    That's absolutely make sense as most of the customers on jdk7 or even move ahead. In fact, I use jdk7 along with soapui from long time without any issues. Even jdk 7 reaches to a stage where oracle stopped updates.
    • mileppaa's avatar
      mileppaa
      Occasional Contributor

      Good !

       

      We have also used jdk 7 for a while with Soap Ui 5.0 and it has been working fine.

  • sibaram_subudhi's avatar
    sibaram_subudhi
    Occasional Contributor

    Hi Matt,

     

     

     

    Thanks for the update.

     

    I am unable to extract the assertion error messages of a test step while executing from Java.I am also able to get the result for Test suite, test case and step wise. Here the challenge is to get the assertion(s) and their results. The message we are extracting from step result is not even meaningful. need to implement to capture stacktrace or a meaningful error.

     

     

    Does it any way related to Java version. Currently I am using Java 8. Please suggest if you understood.

     

     

    • sibaram_subudhi's avatar
      sibaram_subudhi
      Occasional Contributor

      Hi,

      Got the failed assertions from the SoapUI test steps along with detailed message, exception and titles. Hope it will be useful to all those people who want to create reporting for open source version

       

      /**
      * to execute SoapUI test cases from a SoapUI project using Java
      */
      public static void runSoapUITest(){

      String suiteName = "";
      String reportStr = "";

      //instantiate lists for storing soapui test suites and test cases
      List<TestSuite> suiteList = new ArrayList<TestSuite>();
      List<TestCase> caseList = new ArrayList<TestCase>();

      //Set the SoapUI stand alone server as test engine
      SoapUI.setSoapUICore(new StandaloneSoapUICore(true));

      // specified soapUI project
      WsdlProject project = null;

      try {
      //@Todo: Make relative path in enhancements
      //the file path need to be in a configuration file
      String soapUIProjectFilePath="C:\\SoapUI\\NDC 3-soapui-project.xml";

      //Path of the project location
      project = new WsdlProject(soapUIProjectFilePath);

      } catch (XmlException e) {
      e.printStackTrace();
      } catch (IOException e) {
      e.printStackTrace();
      } catch (SoapUIException e) {
      e.printStackTrace();
      }

      // get a list of all test suites on the project
      suiteList = project.getTestSuiteList();

      // iterating through each suite
      for(int i = 0; i < suiteList.size(); i++){

      //Neglect if suite is disabled/inactive
      if(suiteList.get(i).isDisabled()){
      continue;
      }

      // get the test suite name000
      suiteName = suiteList.get(i).getName();

      System.out.println("Test Suite Is :" + suiteName );
      reportStr = reportStr + "\nTest Suite: " + suiteName;

      // get a list of all test cases from the test suite
      caseList = suiteList.get(i).getTestCaseList();

      WsdlTestCaseRunner runner;

      // iterating through each test case
      for(TestCase testcase : caseList){
      //neglect the disabled/inactive test case
      if (testcase.isDisabled())
      {
      continue;
      }

      //Getting the WsdlTestCaseRunner
      runner = new WsdlTestCaseRunner((WsdlTestCase) testcase, new StringToObjectMap(testcase.getProperties()) );

      //Running the Test Case
      runner.run();

      //Getting the result of each step
      List<TestStepResult> results = runner.getResults();

      System.out.println("Test Case : " + testcase.getName());

      //iterating through the results of the test steps executed in the test case
      for(TestStepResult result : results ){
      TestStepStatus stepStatus = result.getStatus();
      //printing the status , we can have a check here for OK , FAILED or UNKNOWN test cases
      System.out.println("Test Step Is : "+ result.getTestStep().getName() + " Test Step Status Is : " + stepStatus.toString());

      if (result instanceof WsdlTestRequestStepResult){
      if(result.getMessages().length>0){
      //Getting the error messages
      String[] errStr = result.getMessages();
      StringBuilder sb= new StringBuilder();

      //iterating through the error messages
      for(int ii=0;ii<errStr.length;ii++){
      String asserWithExcptn=errStr[ii];
      String assertName= asserWithExcptn.substring(0,asserWithExcptn.indexOf("]")+1);
      String assertResult= asserWithExcptn.substring(asserWithExcptn.indexOf("]")+1, asserWithExcptn.length());
      sb.append("The failed assertion #"+(ii+1)+" as follows.. \n");
      sb.append("The assertion is: "+assertName+"\n");
      sb.append("The message is:"+assertResult);
      sb.append("\n");
      }
      System.out.println(sb.toString());
      }
      }
      }
      reportStr = reportStr + "\n\tTestCase: " + testcase.getName() + "\tStatus: " + runner.getStatus() + "\tReason: " + runner.getReason();
      }
      }
      //'reportStr' has the status of all the test cases
      System.out.println("The Execution Status as follows: \n"+reportStr);
      }

      • mfebrestrop's avatar
        mfebrestrop
        New Contributor

        Hello,

         

        If someone is planning to use the last JDBC drive from Microsoft, you would need to use Java 8 instead of Java 7 otherwise it will not work.

         

        Miguel

  • raviraj's avatar
    raviraj
    Occasional Contributor

    It totally make sense, for security reasons people have to move to java 7 or 8.

  • Hi MattiH,

     

    Why not Java 7 instead of Java 8, as Java 8 is fast and with updated features.

     

    By the way congratulations to the Users. Thanks for the Update. :)

     

    Thanks,

    Himanshu Tayal