A
alterGauner
Gast
Hi!
Ich wollte mir mal automatische Tests von Webapplikationen zu Gemüte führen und bin dabei mal auf HTTPUnit gestossen. Nachdem ich mich etwas eingelesen habe, wollt ich mal das Tutorial durchmachen und bin prompt auf ein Problem gestossen, welches ich mir nicht ganz erklären kann.
Hier mal der Code des Tutorials:
// Imports
import com.meterware.httpunit.*;
import java.io.IOException;
import java.net.MalformedURLException;
import org.xml.sax.*;
// Testklasse
public class TestCase
{
// Hauptfunktion
public static void main(String[] params)
{
try
{
// Lokale Variablen
WebRequest loRequest = null;
WebResponse loResponse= null;
// Initialisiere HttpUnit
WebConversation loConversation = new WebConversation();
// Erzeuge einen Web-Request
loRequest = new GetMethodWebRequest("http://localhost:80/test/index.html");
// Ermitteln der Response-Nachricht
loResponse = loConversation.getResponse(loRequest);
// Ausgabe des Requests und Responses
System.out.println(loRequest);
System.out.println("---------");
System.out.println(loResponse);
System.out.println("---------");
// Ermitteln der Eingabeform
WebForm testForm = loResponse.getForms()[0];
// Erzeuge Web-Request
loRequest = testForm.getRequest();
// Setzen der Formparameter
loRequest.setParameter("eingabefeld", "testwert");
// Ermitteln der Response-Message
loResponse = loConversation.getResponse(loRequest);
// Ausgabe des Requestes und Responses
System.out.println(loRequest);
System.out.println("---------");
System.out.println(loResponse);
}
catch (Exception ex)
{
System.err.println("Exception: " + ex);
}
}
}
Und nun gibt es dazu folgende Exception:
java.lang.NoSuchMethodError: org.apache.xerces.parsers.DOMParser: method <init>(Lorg/apache/xerces/xni/parser/XMLParserConfiguration
V not found
at com.meterware.httpunit.parsing.NekoDOMParser.<init>(NekoDOMParser.java:113)
at com.meterware.httpunit.parsing.NekoDOMParser.newParser(NekoDOMParser.java:65)
at com.meterware.httpunit.parsing.NekoHTMLParser.parse(NekoHTMLParser.java:40)
at com.meterware.httpunit.HTMLPage.parse(HTMLPage.java:244)
at com.meterware.httpunit.WebResponse.getReceivedPage(WebResponse.java:1014)
at com.meterware.httpunit.WebResponse$Scriptable.load(WebResponse.java:611)
at com.meterware.httpunit.javascript.JavaScript$Window.initialize(JavaScript.java:424)
at com.meterware.httpunit.javascript.JavaScript.run(JavaScript.java:80)
at com.meterware.httpunit.javascript.JavaScriptEngineFactory.associate(JavaScriptEngineFactory.java:46)
at com.meterware.httpunit.FrameHolder.<init>(FrameHolder.java:44)
at com.meterware.httpunit.WebWindow.<init>(WebWindow.java:218)
at com.meterware.httpunit.WebClient.<init>(WebClient.java:50)
at com.meterware.httpunit.WebConversation.<init>(WebConversation.java:46)
at at.ainetservices.ais.test.TestCase.main(TestCase.java:22)
Exception in thread "main"
WebConversation loConversation = new WebConversation();
Scheinbar kommt er mit dieser Befehlszeile nicht klar. Da jedoch keine Parameter übergeben werden, noch davor irgendwelche Variablen initialisiert werden und ich mal an die Korrektheit dieses Tutorials glauben will, kann ich mir die Fehlermeldung absolut nicht erklären. Die init-Methode kommt mir auf die schnelle mal nur aus dem HTTPServlet bekannt vor... aber davon kann ich halt im Code nichts erkennen.
Danke für die Hilfe...
Grüße
alterGauner
Ich wollte mir mal automatische Tests von Webapplikationen zu Gemüte führen und bin dabei mal auf HTTPUnit gestossen. Nachdem ich mich etwas eingelesen habe, wollt ich mal das Tutorial durchmachen und bin prompt auf ein Problem gestossen, welches ich mir nicht ganz erklären kann.
Hier mal der Code des Tutorials:
// Imports
import com.meterware.httpunit.*;
import java.io.IOException;
import java.net.MalformedURLException;
import org.xml.sax.*;
// Testklasse
public class TestCase
{
// Hauptfunktion
public static void main(String[] params)
{
try
{
// Lokale Variablen
WebRequest loRequest = null;
WebResponse loResponse= null;
// Initialisiere HttpUnit
WebConversation loConversation = new WebConversation();
// Erzeuge einen Web-Request
loRequest = new GetMethodWebRequest("http://localhost:80/test/index.html");
// Ermitteln der Response-Nachricht
loResponse = loConversation.getResponse(loRequest);
// Ausgabe des Requests und Responses
System.out.println(loRequest);
System.out.println("---------");
System.out.println(loResponse);
System.out.println("---------");
// Ermitteln der Eingabeform
WebForm testForm = loResponse.getForms()[0];
// Erzeuge Web-Request
loRequest = testForm.getRequest();
// Setzen der Formparameter
loRequest.setParameter("eingabefeld", "testwert");
// Ermitteln der Response-Message
loResponse = loConversation.getResponse(loRequest);
// Ausgabe des Requestes und Responses
System.out.println(loRequest);
System.out.println("---------");
System.out.println(loResponse);
}
catch (Exception ex)
{
System.err.println("Exception: " + ex);
}
}
}
Und nun gibt es dazu folgende Exception:
java.lang.NoSuchMethodError: org.apache.xerces.parsers.DOMParser: method <init>(Lorg/apache/xerces/xni/parser/XMLParserConfiguration
at com.meterware.httpunit.parsing.NekoDOMParser.<init>(NekoDOMParser.java:113)
at com.meterware.httpunit.parsing.NekoDOMParser.newParser(NekoDOMParser.java:65)
at com.meterware.httpunit.parsing.NekoHTMLParser.parse(NekoHTMLParser.java:40)
at com.meterware.httpunit.HTMLPage.parse(HTMLPage.java:244)
at com.meterware.httpunit.WebResponse.getReceivedPage(WebResponse.java:1014)
at com.meterware.httpunit.WebResponse$Scriptable.load(WebResponse.java:611)
at com.meterware.httpunit.javascript.JavaScript$Window.initialize(JavaScript.java:424)
at com.meterware.httpunit.javascript.JavaScript.run(JavaScript.java:80)
at com.meterware.httpunit.javascript.JavaScriptEngineFactory.associate(JavaScriptEngineFactory.java:46)
at com.meterware.httpunit.FrameHolder.<init>(FrameHolder.java:44)
at com.meterware.httpunit.WebWindow.<init>(WebWindow.java:218)
at com.meterware.httpunit.WebClient.<init>(WebClient.java:50)
at com.meterware.httpunit.WebConversation.<init>(WebConversation.java:46)
at at.ainetservices.ais.test.TestCase.main(TestCase.java:22)
Exception in thread "main"
WebConversation loConversation = new WebConversation();
Scheinbar kommt er mit dieser Befehlszeile nicht klar. Da jedoch keine Parameter übergeben werden, noch davor irgendwelche Variablen initialisiert werden und ich mal an die Korrektheit dieses Tutorials glauben will, kann ich mir die Fehlermeldung absolut nicht erklären. Die init-Methode kommt mir auf die schnelle mal nur aus dem HTTPServlet bekannt vor... aber davon kann ich halt im Code nichts erkennen.
Danke für die Hilfe...
Grüße
alterGauner