[Dev] soapui

Frank Cohen fcohen at pushtotest.com
Sat Mar 24 10:02:02 PST 2007


Hi William:

> - About the graphics generated by TM. They will they be visible  
> when running using soapui? How can we present info?
>
> - How will TM5 bundle SOAPUI? What level of fusion do we want?

Here is what I have in mind:

A user wants to create a new test of a SOAP-based Web Service.

1) The user runs TestMaker 5.

2) From the new tool bar the user clicks New Scalability Test.

3) A dialog appears with buttons for: SOAP-based Web Service Test,  
Web Browser-based Test, Generic Scalability Test. The user clicks  
SOAP-based Web Service Test.

4) TestMaker opens a file selector and asks the user to enter the  
path to a new directory. The user enters ~/mytest

5) TestMaker creates a new TestScenario.xml file in ~/mytest with the  
name as the directory plus scalabilitytest. So the user finds ~/ 
mytest/mytest_scalabilitytest.xml. TestMaker opens the test scenario  
in the Controller panel.

6) TestMaker launches soapui. (There may be a warning dialog here  
saying "Ready to run soapui, Yes,Cancel" as a convenience.)

7) soapui automatically creates a new soapui WSDL project (same as  
using the soapui File -> New WSDL Project command) named mytest, with  
mytest-soapui-project.xml stored in ~/mytest

8) soapui shows the mytest project in the left panel Projects tree.

9) The user right-clicks on the mytest project and chooses Add WSDL  
from URL. The user enters http://examples.pushtotest.com/axis/ 
services/MessageService?wsdl. The user chooses "yes" to the Create  
Default Requests For All Operations.

10) soapui shows the mytest -> MessageService -> echoElements ->  
Request 1 in the Projects panel. (Note: the user needs to expand the  
nodes in mytest to see this view.)

11) The user right-clicks on Request 1 and chooses Open Request  
Editor. soap displays the request in the right panel. The request  
looks like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/ 
envelope/" xmlns:mes="http://message.samples">
    <soapenv:Header/>
    <soapenv:Body>
       <mes:echoElements>?</mes:echoElements>
    </soapenv:Body>
</soapenv:Envelope>

12) The user replaces the ? in <mes:echoElements> with a test value  
of "my_test_string" so the request now looks like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/ 
envelope/" xmlns:mes="http://message.samples">
    <soapenv:Header/>
    <soapenv:Body>
       <mes:echoElements>my_test_string</mes:echoElements>
    </soapenv:Body>
</soapenv:Envelope>

13) The user may test this request by clicking the "Submit request to  
specified endpoint URL" icon in the upper left portion of the request  
panel.

14) The user right-clicks on the Request 1 in the Projects panel and  
chooses "Add to TestCase".

15) soapui asks for the name of a new test suite. The user enters  
myTestSuite. soapui then asks for the name of the new test case. The  
user enters myTestCase. The user then chooses the default values and  
clicks OK to the "Add Request to TestCase" dialog.

16) The user changes to TestMaker and clicks the 'edit' icon from the  
mytest TestScenario in the Controller window. The mytest file appears  
in the editor panel.

17) The user adds the following to the mytest scenario:

<resources>
   <soapui path="~/mytest/mytest-soapui-project.xml">
</resources>

<testusecase>
   <run name="mysoapuitest" testclass="myTestSuite"
       method="myTestCase" langtype="soapui"/>
</testusecase>

18) The user clicks the Run icon in the Controller panel.

19) TestMaker operates the mytest scenario as normal. It instantiates  
a thread and uses the soapui test runner to execute myTestCase in  
myTestSuite. The normal TestMaker parameters are available. For  
instance, the following:

<testusecase>
   <crlevels>
     <crlevel value="10"/>
     <crlevel value="20"/>
   </crlevels>
   <run name="mysoapuitest" testclass="myTestSuite"
       method="myTestCase" langtype="soapui"/>
</testusecase>

In the above example, TestMaker instantiates 10 threads and  
continuously operates the soapui test runner to run the MyTestSuite  
myTestCase for the duration of a test. It then ends the 10 threads,  
pauses, and then instantiates 20 threads and continuously operates  
the soapui test runner.

And, our course, all the other benefits of TestMaker are available,  
including running the test on a distributed grid of TestMaker  
TestNodes, operating the MyTestSuite as a service monitor, charts of  
the results, resource monitoring as the test runs, etc.

What I have not figured out is how the TestMaker Data Production  
Library will provide data to the myTestCase at run time. For  
instance, TestMaker users should be able to do:

<testusecase>
   <run name="mysoapuitest" testclass="myTestSuite"
       method="myTestCase" langtype="soapui">
	<argument name="value1" value="my new test value"/>
   </run>
</testusecase>

Perhaps we could modify soapui to have a variable insert mechanism in  
its test runner? For instance, in the above example the user opens  
Request 1 and changes the request to:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/ 
envelope/" xmlns:mes="http://message.samples">
    <soapenv:Header/>
    <soapenv:Body>
       <mes:echoElements>{$value1}</mes:echoElements>
    </soapenv:Body>
</soapenv:Envelope>

and at runtime the soapui test runner replaces the {$value1} with:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/ 
envelope/" xmlns:mes="http://message.samples">
    <soapenv:Header/>
    <soapenv:Body>
       <mes:echoElements>my new test value</mes:echoElements>
    </soapenv:Body>
</soapenv:Envelope>

What do you think?

-Frank


On Mar 23, 2007, at 5:06 PM, William Martinez wrote:

>
>
>
>   --- A continuación el mensaje reenviado ---
>
> From: dev-owner at lists.pushtotest.com
> Date: March 23, 2007 1:31:18 PM PDT
> To: wmartinez at avantica.net
> Subject: Re: [Dev] soapui
>
>
> You are not allowed to post to this mailing list, and your message has
> been automatically rejected.  If you think that your messages are
> being rejected in error, contact the mailing list owner at
> dev-owner at lists.pushtotest.com.
>
>
> From: "William Martinez" <wmartinez at avantica.net>
> Date: March 23, 2007 12:12:49 PM PDT
> To: TestMaker Developers List <dev at lists.pushtotest.com>
> Subject: Re: [Dev] soapui
>
>
> Hi Frank.
>
> Here are some questions from Luis:
>
> It sounds nice to merge soapui with testmaker.
>
> - About the graphics generated by TM. They will they be visible  
> when running using soapui? How can we present info?
>
> - How will TM5 bundle SOAPUI? What level of fusion do we want?
>
> William.
>
>
> On Fri, 23 Mar 2007 08:42:15 -0700
>  Frank Cohen <fcohen at pushtotest.com> wrote:
>> Hi William: I spoke with Ole Matzura and Niclas Reimertz of the   
>> soapui project. They support bundling soapui with TestMaker 5.  
>> They  advised to use soapui 1.7. They told me there is a soapui  
>> test runner  in 1.7 that we should use to execute soapui tests.  
>> Provided that  there is nothing in their test runner that would  
>> keep us from running  in a multi-threaded TestNode environment, it  
>> seems better to use  their test runner than to transform their XML  
>> files when using soapui  tests in TestMaker. Please investigate  
>> their test runner to make sure  there that it is thread safe and  
>> will scale.
>> Other things we discussed:
>> - They are working on a commercial version of soapui that they  
>> will  announce next week. The commercial version is built on  
>> soapui 1.7 and  adds wizards to perform XPath and other functions.  
>> The commercial version comes with support services. soapui 1.7  
>> will be LGPL and the  commercial version is a wrapper around the  
>> LGPL core soapui 1.7 jars.
>> - They distribute soapui documentation under a free license and  
>> we  may include it in the TestMaker distribution.
>> -Frank
>> --
>> Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374  
>> 7426
>> TestMaker: The open-source SOA governance and test automation tool
>> _______________________________________________
>> Dev mailing list
>> Dev at lists.pushtotest.com
>> http://lists.pushtotest.com/mailman/listinfo/dev
>
>
>
>
>



--
Frank Cohen, PushToTest, http://www.PushToTest.com, phone 408 374 7426
TestMaker: The open-source SOA test automation tool





More information about the Dev mailing list