Forum Discussion

Hamza_amami's avatar
Hamza_amami
Occasional Contributor
6 years ago

Need dependency for integrating ReadyApi with Java Maven

Hello,

I've done a lot of dev with SoapUi (open source version) with this dependency

<dependency>
			<groupId>com.smartbear.soapui</groupId>
			<artifactId>soapui</artifactId>
			<version>5.0.0</version>
			<exclusions>
				<exclusion>
					<groupId>javafx</groupId>
					<artifactId>jfxrt</artifactId>
				</exclusion>
				<exclusion>
					<artifactId>servlet-api</artifactId>
					<groupId>jetty</groupId>
				</exclusion>
				<exclusion>
					<artifactId>commons-codec</artifactId>
					<groupId>commons-codec</groupId>
				</exclusion>
				<exclusion>
					<groupId>com.jayway.jsonpath</groupId>
					<artifactId>json-path</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

Now that we bought SoapUi Pro, some testSteps can't be executed in our Java code (I guess because these testStep are only compatible with SoapUi OpenSource testRunner)

Is there a way to keep the same code source that we have and integrate the Pro feature, like changing only the dependency ?

Thanks

  • Hi Hamza_amami,

     

    Would you mind sharing the piece of your Java code where you invoke SoapUI OS classes so that we could advise what SoapUI Pro classes you need to use for achieving the same and what exact Maven dependencies should be included to your POM? 

     

    • Hamza_amami's avatar
      Hamza_amami
      Occasional Contributor

      hank your for your answer: here's how I envoke soapui teststeps :

      SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
      		SoapUI.getSettings().setBoolean(HttpSettings.RESPONSE_COMPRESSION, false);
      
      		WsdlProject project;
      		try {
      			project = new WsdlProject("SoapProjects/" + projectName);
      			tSuite = project.getTestSuiteByName(defaultTestSuite);
      		} catch (XmlException | IOException | SoapUIException e) {
      			e.printStackTrace();
      		}
      

      And 

       

      WsdlTestCase tc = tSuite.getTestCaseByName("name");
      
      			Map<String, String> params = new HashMap<String, String>() {
      				{
      					put("username","sss");
      					put("ApiVersion","1.0.0" );
      					put("env",env );
      				}
      			};

      And

       

      for (int i = 0; i < tc.getTestStepCount(); i++) {
      			System.out.println(tc.getTestStepCount());
      			WsdlTestStep ts = tc.getTestStepAt(i);
      			String tsName = ts.getName();
      
      			if (!ts.isDisabled()) {
      
      				WsdlTestCaseRunner runner = new WsdlTestCaseRunner(tc, new StringToObjectMap());
      				TestStepResult result = runner.runTestStep(ts);
      
      ....


      By the way, I filter on disabled, but it execute them anyway


      Thanks in advance