Showing posts with label SoapUI. Show all posts
Showing posts with label SoapUI. Show all posts

Road to execution of SoapUI Project using maven

In my previous post “Click” I have posted how to create JUnit test for SoapUI project. In this post I will show you how to execute SoapUI-JUnit project using maven
Create java maven project as following directory.

SampeProject
                    src/main/java
                    ******** com/ maven/ example
                    **************************
                    src/test/java
                    ******** com/maven/example/
                    ********************** SopUIJunitTest.java
                    pom.xml

Road to data driven testing in SoapUI using groovy script with excel file

SoapUI Pro has a feature to read data from external files like: excel, csv etc. But SoapUI does not provide such feature to read data from excel file. So for reading data from excel file in SoapUI, we need to write some code in groovy script.
I this post I will show you, how to read data from excel file.I am using poi jar files to read data from excel file in groovy, download following jar files and put into SoapUI lib folder.
  • poi-3.8-beta5-20111217.jar
  • poi-examples-3.8-beta5-20111217.jar
  • poi-excelant-3.8-beta5-20111217.jar
  • poi-ooxml-3.8-beta5-20111217.jar
  • poi-ooxml-schemas-3.8-beta5-20111217.jar
  • poi-scratchpad-3.8-beta5-20111217.jar 
  • dom4j-1.6.1.jar

Script assertion in Soap UI for WSDL API methods

In this post I will show you how to add script assertion in SoapUI response of wsdl api test methods.
Here I have an example of CurrencyConvertor, I created a SoapUI project and added test case for this method as you can see in below window.

Now here in response body I will add assertion that verify the “ConversionRateResult” value is always 104 for given input value.

Road to data driven testing in SoapUI from csv file

In this post I will show you how to execute SoapUI test for a set of values. For this I have put all data in csv file. I write groovy scripts for reading data from csv and executing the test steps.
Below is the groovy script for reading data from “URL.csv” file where I put all user credentials.

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

def csvFilePath = "D:\\URL.csv"
context.fileReader = new BufferedReader(new FileReader(csvFilePath))

rowsData = context.fileReader.readLines()
int rowsize = rowsData.size()

for(int i =0;  I < rowsize;  i++)
{

    rowdata = rowsData[i]
    String[] data = rowdata.split(",")
    log.info data[1]
   
    groovyUtils.setPropertyValue("Login", "UserName", data[0])
    groovyUtils.setPropertyValue("Login", "Pass", data[1])
    testRunner.runTestStepByName( "Login")  
}

In above code I read data from “URL.csv” file and pass user name and password into “UserName “ and “Pass” of Login steps parameters.
“Login”  test step executed by using test runner for every data.

Road to reading data from text file in SoapUI using groovy script

In this post, I am going to show you how to read data from text file in SoapUI. SoapUI Pro has some advance feature which is not in SaopUI as data fetching from external sources so in SoapUI we use Groovy script for that. Following are the peace of groovy script code for reading data from text file.

1. Reading all data from text file.
//reading all txt file at once

File file = new File("D://user.txt")
fileContent = file.getText()                 
log.info fileContent

2. Reading data line by line from text file.
//reading text line by line

File file1 = new File("D://user.txt")
List textLine = file1.readLines()
log.info textLine

3. Reading data randomly of any line from text file.
//reading text randon line number

File file2 = new File("D://user.txt")
List textLine2 = file2.readLines()
rowIndex  =  Math.abs(new Random().nextInt() % 4 + 1)
log.info textLine2[rowIndex]

Road to installation of SoapUI plugin into Eclipse.

Following are the steps to install soapui plug-in into eclipse.
1. Open Eclipse IDE and goto “Help” menu and click on “Install New Software”
2. Click on add button you should see like below window.


3. Enter some text into “name” field as “SoapUI“ and enter url http://www.soapui.org/eclipse/update into “Location” field.
4. Click on “OK” button, you should see below screen and soapUI will display.

Execution of SoapUI project using Junit

In this post I am going to show you how to execute SoapUI project using Junit.
SoapUI provide testrunner class name “SoapUITestCaseRunner” which can be used to run soapui test using java class, maven or ant build tool. We create object of this class in java file and call the run function to execute soapui project.

Steps to create Junit test for soap ui project:
1. Chose any IDE as eclipse or NetBean
2. Add “soapui-4.5.1.jar” from soapui bin folder and soapui lid folder as library to class path of your project (eclipse).
3. Use “SoapUITestCaseRunner” class object to run soapui project as mentioned in below code:

Road to command line execution of soapUI project

We run SoapUI project using SoapUI GUI interface.  SoapUI also provide set off batch files to execute soapUI tests from command line without using SoapUI GUI interface.

Following are the runner scripts inside installed SoapUI bin folder.
1. testrunner.bat : this is use to run functional test using command line.
2. loadtestrunner.bat: This is used to run soapui load testing using command line.
3. mockservicerunner.bat:  This is used to run soapui mock services using command line.
4. toolrunner.bat: This is used to launch soapui tools.
5. securitytestrunner.bat: This command is used to run security tests

Road to performance testing using soapUI

In this post I would like to show you performance testing of webservices using soap ui.
Performance testing of web services is not just running SOAP or XML messages in a loop to run the service. It should be a well-planned activity which must be aligned with the performance expectations of the overall service-oriented solution.  You can run multiple type of performance test such as SOAP , JSON, XML format messaging through a single interface
SoapUI allows users to configure various load testing options such as delays in between threads to simulate real-world use cases and run tests in burst mode to stress test services.

Some Important SoapUI functions in groovy script.

In this post I will show you some important soapui functions which are basically used in soap ui groovy scripts.

1. Following functions are used to read properties in soapui project.
projectPropertyValue = context.expand( '${#Project#Test}')

projectPropertyValue = context.expand( '${#TestCase#Test}')

projectPropertyValue = context.expand( '${#TestSuite#Test}'

I have create three properties with name "Test" at project, testsuite and test case level. Using above code we can read values in groovy scripts and can be use where needed.
2. Setting properties value test case.
def myTestCase = context.testCase

myTestCase.setPropertyValue("Name", “Value”)

3. Reading end url value of any test steps. Replace your test step name with “TestStepName”
EndPointUrl  = context.getProperty("TestStepName","Endpoint")
4. Setting parameter value of test steps. Replace you test step name, parameter name and value with “TestStepName”, “dataSet” and “value”.
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

//set data parameter value in TestStep
groovyUtils.setPropertyValue("TestStepName", "dataSet", “value”)
Will continue adding more function

Soap UI Assertions

In this post I am going to explain what assertion in soapui is and how we can apply script assertion.

Assertion

Assertion functionality in SoapUI is used to validate the response of request received by the Test Steps at the time of execution. Usually assertion is to compare a part of message (or the entire message) to some expected value.
Assertion applied in SoapUI at response of request, if any assertion failed then test marked as failed. Failed test can be verify and find out the reason.

Parameterization in soap ui using soap ui property feature

Sometimes we need to use some values in several times in our api test, such as api end point, api methods name, user name, password etc. If these values we put in place and use these values when needed in our test. If these values changed then we need to update only a single place.

In SoapUI we can use parametrization from external files of property feature of SoapUI.

Parametrization using SoapUI properties:


 In soapui properties can be created at three level
  1.     Test Case
  2.     Test Suite
  3.     Project.    
Click on created test case. Click on properties tab at bottom of soapUI.
Click on + icon and enter property name.

As I created a property for endpoint url .


Similarly we can create properties for Test Suite and Project level..

How to use:
  1.     ${#TestCase#EndPoint} for test case property.
  2.     ${#TestSuite#EndPoint} for test suite property.
  3.     ${#Project#EndPoint} for project property.

Soap UI API (HTTP Test request) testing for beginner

About Soap UI:

Soap UI is a free and open source cross-platform Functional Testing solution. With an easy-to-use graphical interface, and enterprise-class features, Soap UI allows you to easily and rapidly create and execute automated functional, regression, compliance, and load tests. In a single test environment, Soap UI provides complete test coverage and supports all the standard protocols and technologies. There are simply no limits to what you can do with your tests.

Soap UI testing area:

SOAP UI is basically used for API testing, below are some areas of  SOAP UI testing.
  1. Functional Testing.
  2. Load testing.
  3. Service mocking 
  4. Security Testing.
  5. Http protocol request testing.
  6. SOAP and WSDL
  7. Rest API testing.
  8. JMS API testing.
  9. AMF type API testing.
  10. WEB and HTTP.
Procedure- test HTTP type API method.

Download and install Soap UI from url “sourceforge.net/projects/soapui/files/”.
Go to start >All Programs > SmartBear >soap UI *.*.*   and click on Soap UI-*.*.*
You should see Soap UI will open on machine.