Saturday, February 7, 2015

Run soapUI project using ANT script



Following is the sample ANT script to run soapUI project. To run it, you need to copy all the jar files from soapUI installation folder and also add soapUI-xxx.jar from bin folder, and put them in the lib folder and add it to ant classpath.

This ant script support:
1. you can run test by specifying the paramters like suite name, url, user name, password etc.
2. by default it will run all the test cases in the project.
3. it will generate JUnit compatible report.

Please refer my github reporitory for the whole sample code.

<project name="WS-Test"  default="test" >
<property file="build.properties"/>
<property name="test.dir" value="test-results"/>
<property name="project.dir" location="project"/>

<target name="clean">
       <delete dir="${test.dir}"/>
    </target>

<target name="init">
      <mkdir dir="${test.dir}"/>
    </target>

<target name="test-with-properties" depends="init">
<java classname="com.eviware.soapui.tools.SoapUITestCaseRunner" errorproperty="tests-failed" fork="yes" dir="${test.dir}">
 <arg line="-j -M -r -a -f${basedir}/${test.dir}"/>
 <arg value="-e${wsdl.url}"/>
 <arg value="-s${soapui.testsuite}"/>
 <arg value="${project.dir}/${soapui.project}"/>
 <arg value="-x${user.name}"/>
 <arg value="-x${user.password}"/>
 <classpath>
<fileset dir="lib" includes="*.jar"/>
 </classpath>
</java>
</target>

<target name="test" depends="init">
<java classname="com.eviware.soapui.tools.SoapUITestCaseRunner" errorproperty="tests-failed" fork="yes" dir="${test.dir}">
 <arg line="-j -M -r -a -f${basedir}/${test.dir}"/>
 <arg value="${project.dir}/${soapui.project}"/>
 <classpath>
<fileset dir="lib" includes="*.jar"/>
 </classpath>
</java>
</target>

<target name="test-single-project" depends="init">
<antcall target="run-single-test">
 <param name="project" value="${project.dir}/${soapui.project}"/>
</antcall>
</target>

<target name="run-single-test">
   <java classname="com.eviware.soapui.tools.SoapUITestCaseRunner" errorproperty="tests-failed" fork="yes" dir="${test.dir}">
 <arg line="-j -M -r -a -f${basedir}/${test.dir}"/>
 <arg value="${project}"/>
 <classpath>
<fileset dir="lib" includes="*.jar"/>
 </classpath>
</java>
</target>


<target name="report">
<junitreport todir="${test.dir}">
 <fileset dir="${test.dir}">
<include name="TEST-*.xml"/>
 </fileset>
 <report format="frames" todir="${test.dir}/reports/html"/>
</junitreport>
    </target>


</project>



Tuesday, February 3, 2015

RobotFramework tools installation guide

I used RobotFramework for more than half a year, I really love it.
Now I shared my installation guide.

Hope this will be helpful for any  Developers who are interested in RobotFramework, but don't have Python experiences.

Set up Robot framework Tool Chai

1. Install python
   download python 2.7.6
   https://www.python.org/downloads/

 add the python installation folder to the windows PATH environment variable, for example
   C:\dev_software\Python27;
 
2. Install pip
    http://pip.readthedocs.org/en/latest/installing.html
   download get-pip.py via https://bootstrap.pypa.io/get-pip.py
   open a command window via "run as admin", type:
   python get-pip.py

   Add following into windows PATH environment variable:
   C:\dev_software\Python27\Scripts;

 
3. Install robot framework
   pip install robotframework
 
4. Install selenium2library
   pip install robotframework-selenium2library
 

5. Install RIDE

  install wxPython  wxPython 2.8.12.1
    http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py27.exe/download
             
  install through windows ride package win32 version
   https://code.google.com/p/robotframework-ride/downloads/detail?name=robotframework-ride-1.2.3.win32.exe
 
  Or install using pip
   pip install robotframework-ride
 
6. Install selenium webdriver client

   chrome driver: http://chromedriver.storage.googleapis.com/2.10/chromedriver_win32.zip

   IE driver
    http://selenium-release.storage.googleapis.com/2.42/IEDriverServer_Win32_2.42.0.zip
             
unzip them and copy the exe files in c:\webdriver directory
set them to windows path

    C:\dev_software\webdriver
             
               

7. Test
   run pip list, then you should see following:

decorator (3.4.0)
docutils (0.11)
pip (1.5.6)
robotframework (2.8.5)
robotframework-ride (1.3)
robotframework-selenium2library (1.5.0)
selenium (2.42.1)
setuptools (5.1)
 
- open dos command, type
  pybot

  then it will shows:
  [ ERROR ] Expected at least 1 argument, got 0.
  Try --help for usage information.


Documents:
- RobotFramework installation doc
  https://code.google.com/p/robotframework/wiki/Installation#Python_package_managers

- RobotFramework Selenium2Library installation guide
  https://github.com/rtomac/robotframework-selenium2library

- RIDE installation instructions:
  https://github.com/robotframework/RIDE/wiki/Installation-Instructions

- selenium2library keywords doc
  http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.html