HTTPUnit Test Fehler: Error on HTTP request: 500 Internal Er

  • Themenstarter Themenstarter Search
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
S

Search

Gast
Hallo zusammen

versuche gerade mein mit Struts entwickeltes Web-Projekt zu testen. Leider scheitere ich schon am versuch ein formular abzusenden. folgender fehler tritt dabei auf:

Error on HTTP request: 500 Internal Error [http://localhost: ...

Mein test Code sieht folgendermassen aus:

Code:
protected WebResponse addProperty(WebResponse aWResp) throws Throwable
	{
		WebForm form = aWResp.getFormWithName("form"); //getForms()[0];
	
		form.setParameter("propertyKey", "test");
		form.setParameter("propertyValue", "test");
		
		aWResp = form.submit(form.getSubmitButton("ok", "ok"));
	
		return aWResp;
	}

das form wird auf alle fälle gefunden und die inputs werden abgefüllt. die exception wird geworfen wenn form.submit() ausgeführt wird. woran kann das liegen? andere tests funktionieren bisher ohne probleme.

danke & gruss

ps: weiss nicht ob das was bringt aber das form befindet sich in einem iframe. das iframe wiederum in einem iframe ;o) isch ein wenig kompliziert aber funktioniert soweit ganz gut ;o) .... gruss
 
da ich mich auch grad massiv über http fehler 500 freu kann ich dir zumindest sagen was das problem ist:
irgendwo wird ne exception geworfen (classCaseExceptin, NullPointerException, etc.)
 
hmm... danke erstmal für die antwort. hilft mir grad nicht gross weiter. wenn ich die gleiche funktion über den browser teste funktionierts ohne probleme. muss wohl irgendwas anders machen im http unit. frage mich nur was :?

jemand schonmal so ein problem gehabt?

gruss
 
mach doch zum testen ne

try {
...
} catch (Exeption e) {
e.printStackTrace(System.out);
}

um das ganze, dan siehste in der console welches problem in welcher zeilte is
 
ok, hab ich mal gemacht. hilft mir jedoch auch nicht gross weiter. das sieht dann so aus:

com.meterware.httpunit.HttpInternalErrorException: Error on HTTP request: 500 Internal Error [http://localhost:9080/IsovAdminWeb/ManageProperties.do]
at com.meterware.httpunit.WebClient.validateHeaders(WebClient.java:557)
at com.meterware.httpunit.WebClient.updateClient(WebClient.java:437)
at com.meterware.httpunit.WebWindow.updateWindow(WebWindow.java:136)
at com.meterware.httpunit.WebWindow.getSubframeResponse(WebWindow.java:127)
at com.meterware.httpunit.WebWindow.getResponse(WebWindow.java:118)
at com.meterware.httpunit.WebWindow.sendRequest(WebWindow.java:107)
at com.meterware.httpunit.WebRequestSource.submitRequest(WebRequestSource.java:232)
at com.meterware.httpunit.WebRequestSource.submitRequest(WebRequestSource.java:216)
at com.meterware.httpunit.WebForm.submit(WebForm.java:64)
at com.ibm.isov.management.web.httpUnitTests.TestDataPool.deleteProperty(TestDataPool.java:176)
at com.ibm.isov.management.web.httpUnitTests.TestManageProperties.deleteProperty(TestManageProperties.java:136)
at com.ibm.isov.management.web.httpUnitTests.TestManageProperties.testManageProperties(TestManageProperties.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at junit.swingui.TestRunner$17.run(TestRunner.java:644)

validateHeaders? muss ich da noch was mitgeben oder so?

gruss
 
hallo,

hat da sonst niemand ne idee dazu? bin bisher nicht weitergekommen. wäre für inputs sehr dankbar.

danke & gruss
 
jo braucht er, die sollte er eigentlich auch haben. führe zuerst einen login test durch wo ein user eingeloggt wird. das funktioniert soweit auch. danach kann aus einem menü eine aktion gewählt werden (zb. user verwaltung). dieses wird in einem iframe geladen. in diesem iframe wird ein weiteres iframe geladen wo verschiedene funktionen angezeigt werden (hinzufügen, löschen usw.). nun eben in diesem iframe wo die funktionen dargestellt werden tritt der fehler auf. also wenn ich etwas hinzufügen will und dann submit auslöse.

gruss
 
etherreal anschmeissen und schaun, ob httpunit die session-id oder was auch immer mitschickt?

arbeitet der mit cookies oder url-encoding?

kannst du auch im Browser das IFRAME direkt "laden"?

versteckte POST Parameter usw?
 
hallo

habe mal aufm server cookies disabled, danach ist gar nichts mehr gelaufen. arbeit wohl mit cookies. auf das iframe kann direkt zugegriffen werden. im frame werden keine versteckten post parameter mitgeliefert.
habe mir mal die source von http unit runtergeladen und eingebunden.
ham mal versucht das ganze zu debuggen, werd aber nicht ganz schlau draus. der frametarget welchen er setzt verweist auf sich selber zurück. vielleicht stellt dies ein problem dar.
die response aus welcher ich das form lese ist korrekt. das heisst ich kann das form auslesen und die parameter setzten. habe auch überprüft das die parameter wirklich gesetzt sind. der fehler tritt erst nach dem drücken von submit auf. er gelangt nicht mal in meine action klasse. der fehler tritt also irgendwo zwischen submit und action sprich form klasse auf.

gruss
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben