HttpUnit Test

This example illustrates about how to write a Black Box test using HttpUnit.

HttpUnit Test

HttpUnit Test

     

This example illustrates about how to write a Black Box test using HttpUnit. The Block Box test is useful in evaluating the overall health of the application and its ability to provide value to users where an application is tested using its outward-facing interface (usually a graphical user interface). In this example we are showing whether url is present or not. In this example assertNotNull("url: ", url, response) check whether the given object (url) is present or not, assertNotNull("logo", logo) check whether the given object (logo) is present or not and assertNotNull("links", links) checks whether link is available or not. The main method run the test suit. 

Assertion Statement Reference: There is the list of the different types of assertion statements that are used to test your code. These assertions are taken from the Junit API. 
  • assertEquals(expected, actual)
  • assertEquals(message, expected, actual)
  • assertEquals(expected, actual, delta) - used on doubles or floats, where delta is the difference in precision
  • assertEquals(message, expected, actual, delta) - used on doubles or floats, where delta is the difference in precision
  • assertFalse(condition)
  • assertFalse(message, condition)
  • assertNotNull(object)
  • assertNotNull(message, object)
  • assertNotSame(expected, actual)
  • assertNotSame(message, expected, actual)
  • assertNull(object)
  • assertNull(message, object)
  • assertSame(expected, actual)
  • assertSame(message, expected, actual)
  • assertTrue(condition)
  • assertTrue(message, condition)
  • fail()
  • fail(message)
  • failNotEquals(message, expected, actual)
  • failNotSame(message, expected, actual)
  • failSame(message)

 

HttpUnitTestExample.java

 

package HttpUnit;

import java.io.*;
import java.net.*;
import java.util.*;
import java.lang.*;
import junit.framework.*;
import com.meterware.httpunit.*;
import com.meterware.httpunit.WebLink;
import com.meterware.httpunit.WebClient;
import com.meterware.httpunit.WebConversation;

public class HttpUnitTestExample extends TestCase{
  String url = "http://localhost:8080/developers-1/";
  
  public void text(){
  try{
  URL serverUrl = new URL(url);
  WebConversation conversation = new WebConversation();
  WebRequest request = new GetMethodWebRequest(serverUrl,"");
  System.out.println("request: "+request);
  WebResponse response = conversation.getResponse(request);
  System.out.println("response: "+response);
  assertNotNull("url: " + url, response);
  System.out.println("url: "+url);

  WebImage logo = response.getImageWithSource("images/logo.gif");
  assertNotNull("logo",logo);
  System.out.println("image: ");

  WebLink links[] = response.getLinks();
  assertNotNull("links ", links);
  System.out.println("links");

  int counter = 0;
  for(int i=0; i < links.length; i++){
  String url =  links[i].getURLString();
  if(url.indexOf("/developers/developers/diary/listall/") != -1){
  counter++;
  System.out.println("servlet: " + links[i].asText());
  }
  }
  }
  catch (Exception ex){
  ex.printStackTrace();
  super.fail(ex.getMessage());
  }
  }

  public HttpUnitTestExample(String s){
  super(s);
  }
  public static Test suite() {
  TestSuite suite = new TestSuite();
  TestCase test = new HttpUnitTestExample("text");
  suite.addTest(test);
  return suite;
  }
  public static void main(String args[]){
  junit.textui.TestRunner.run( suite() );
  }
}

build.xml:
 

<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="HttpUnitTest" default="run" basedir=".">
  <property file="build.properties"/>
  <property name="src.dir" value="source"/>
  <property name="class.dir" value="./classes"/>

  <path id="proj.class.path">
  <fileset dir="lib">
  <include name="**/*.zip"/>
  </fileset>
  <fileset dir="lib">
  <include name="**/*.jar"/>
  </fileset>
 <pathelement location="${class.dir}"/>
  </path>

 <target name="clean">
  <delete dir="${class.dir}" failonerror="true" />
  <mkdir dir="${class.dir}"/>
  </target>

<target name="compile" depends="clean">
  <javac destdir="${class.dir}" debug="on" deprecation="false">
  <src path="${src.dir}"/>
  <classpath refid="proj.class.path"/>
 </javac>
</target>

<target name="run" depends="compile">
  <java classname="HttpUnit.HttpUnitTestExample" classpathref=
  "proj.class.path" 
fork="no" />

</target>
</project>


output:

Download Source Code