HttpUnit: Form wird nicht submitted

Status
Nicht offen für weitere Antworten.

abthun

Neues Mitglied
Hallo and alle und viele Grüße aus München!

Ich habe eine kleine HttpUnit-Testklasse gebaut um den Login meiner
Seite zu testen. Der Submit hat jedoch überhaupt keine Wirkung; ich bleibe
auf der Login-Seite stehen. Die Welcome-Page, die danach kommen sollte
wird nie erreicht. Habt Ihr einen Hinweis für mich? Mir gehen die Ideen aus

TIA, Andi

Code:
public void testMailLogin() throws Exception { 
try { 
WebConversation conversation = new WebConversation(); 
WebRequest request = new GetMethodWebRequest(URL); 
WebResponse response = conversation.getResponse(request); 
assertNotNull("No response from URL '" + URL + "'.", response); 
 
System.out.print("Fetching password login form ........."); 
WebForm loginForm = response.getFormWithName("login_Password"); 
assertNotNull("No form found with ID 'login_Password'", loginForm); 
System.out.println("OK.");  
 
// Fill out auth data and submit login form 
loginForm.setParameter("usr_name", "admin"); 
loginForm.setParameter("usr_password", "secret"); 
 
System.out.print("Test presence of login button ........"); 
SubmitButton sb = loginForm.getSubmitButton("login"); 
assertNotNull("No button found with ID 'login'", sb); 
System.out.println("OK.");  
response = loginForm.submit(sb); 
assertNotNull("No response after submit of login button", response); 
 
WebResponse selectUserPage = conversation.getCurrentPage(); 
 
System.out.println(selectUserPage.getTitle()); 
assertEquals(selectUserPage.getText().indexOf("Welcome") != -1, true); 
System.out.println("OK.");  
} 
catch (Exception e) { 
System.err.println("Exception: " + e); 
}  
 
} // testMailLogin()
-----

my page:
Code:
<form action="?" method="post" name="login_Password" target="_self" autocomplete="off" onsubmit="return isSingleClick()"> 
... 
<input maxlength="255" value="" name="usr_name" type="text" class="textfield " />
 
My password
 
<input maxlength="32" value="" class="textfield " type="password" name="usr_password" />
 
 
... 
 
</form>
 

KSG9|sebastian

Top Contributor
form action="?"

was soll das bewirken?
Wie sieht der Button aus?

<form action="#" method="post">
<input type="submit" value="blah" />
</form>
 
G

Guest

Gast
*Huch*, jetzt sehe ich erst die Antwort; habe die E-Mail-Benachrichtigung nicht bekommen.
Danke für´s Feedback.

Das ist ein "ganz normaler" Button, der bewirkt,
dass Username und Passwort gesendet werden.

Viele Grüsse,
Andi
 

KSG9|sebastian

Top Contributor
Solltest du nicht mit dem response des Buttons weiterarbeiten? Wird dein Formular im Browser sauber gepostet und alles?
Läuft dein Code komplett durch ohne Exceptions? Die ganzen Ausgaben werden gemacht?
Kann es sein dass du bei dem POST-Request auto-forwarding aktivieren musst? Ich kennst nur vom HttpClient von Apache, und da musste separat noch auto-forwarding akzeptieren, da das Loginscript ja weiterleitet.

Wie sieht der Code vom Button aus? Wie sieht der Login-Code aus? Wird der Login über ein Servlet gesteuert?

Ui..fragen über fragen :)

Edit:
Noch ne Frage :D
Mach mal Ausgaben in den Logincode rein um zu überprüfen ob der Code überhautp aufgerufen wird.
 
G

Guest

Gast
KSG9|sebastian hat gesagt.:
Solltest du nicht mit dem response des Buttons weiterarbeiten? Wird dein Formular im Browser sauber gepostet und alles?
Läuft dein Code komplett durch ohne Exceptions? Die ganzen Ausgaben werden gemacht?
Kann es sein dass du bei dem POST-Request auto-forwarding aktivieren musst? Ich kennst nur vom HttpClient von Apache, und da musste separat noch auto-forwarding akzeptieren, da das Loginscript ja weiterleitet.

Wie sieht der Code vom Button aus? Wie sieht der Login-Code aus? Wird der Login über ein Servlet gesteuert?

Ui..fragen über fragen :)

Edit:
Noch ne Frage :D
Mach mal Ausgaben in den Logincode rein um zu überprüfen ob der Code überhautp aufgerufen wird.

Hi!

Meiner Meinung nach arbeite ich mit der Response vom Button: response = loginForm.submit(sb);
Oder was meinst Du?

Der Code läuft komplett durch, es handelt sich um eine bestehende Intranet-Seite, die ich nicht
gebaut habe; ich möchte nur mal automatisch testen.

Wenn ich mir den Quelltext der Seite anzeigen lasse, sieht der so aus:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> Authentication Service</title>
<meta content="-1" http-equiv="Expires"/>
<meta content="no-cache" http-equiv="Pragma"/>
<meta content="text/javascript" http-equiv="Content-Script-Type"/>
<meta content="text/css" http-equiv="Content-Style-Type"/>

<style>
.loginField {
  height: 255px;
}
</style>

<link title="default_design_intranet" href="../login/styles/default_design.css" type="text/css" rel="stylesheet" />



<script type="text/javascript">
<!--
var checkflag = 1;

function isSingleClick() {

  if (checkflag == 1) {
    checkflag = checkflag + 1;
    return true;
	} else {
    return false;
  }
}

function closeChangePasswordPopup()
{
    // If we are in the change password popup then we close this window as it is no longer needed

    if (window.name == "GAChangePasswordWindow")
    {
        window.close();
    }
}


window.onload = closeChangePasswordPopup;
    
// -->
</script>



<script type="text/javascript">
<!--
function clearLogin() {
  document.forms.login_Password.reset();
  return true;
}

window.onunload = clearLogin;
// -->
</script>


</head>
<body>
<div id="displayArea" name="display">

<div id="logo">[img]../../login/images/default_design/login-visual.gif[/img]</div>






<div id="GlobalHeader">
		
		<style>
 		#GlobalHeader {
		  clear: none;
		}
		</style>
	</div>



<div id="loginGeneralHeader">

Welcome to the "Digital Doorman"!  
		
		<!--
		<style>
 		#loginGeneralHeader {
		  clear: none;
		}
		</style>
		-->
	
The application you tried to access requires your authentication. 
		By using one of the login methods below your access to the retrieved 
		application - and to other applications protected by Digital Doorman - 
		will be granted. (So called "Single Sign-On")
		
"Certificate-Login" is the most secure login method. Please use it, if ever possible.
	
</div>

<div id="hotline">If you need help, please contact your [img]../../login/images/default_design/icon-support.gif[/img][url="https://intranet.enter.myCompany.com/index.jsp?sdc_p=po2000001031260fcls6m1t4u19&sdc_entdoc=true"]hotline[/url]</div>


<!-- GeneralError
<table class="ErrorMessage">
<tr>
<td class="ErrorSymbol"><div class="ErrorSymbol">[img]../../login/images/default_design/icon-error.gif[/img]</div></td>
<td class="ErrorText">Login is not working in the moment, please do not try to login.</td>
</tr>
</table>
GeneralError -->
<table id="loginTable">
<tr>
<td width="7px">
[img]../../login/images/default_design/spacer.gif[/img]
</td>


<td class="login">
<div class="loginField">
<div class="loginHeader">
[url="../help/en_US/pages/index_email.html"]?[/url]
<div class="loginHeaderTitle">E-Mail Login</div>
</div>
<form action="?" method="post" name="login_Password" target="_self" autocomplete="off" onsubmit="return isSingleClick()">
<!-- PasswordError
<table class="ErrorMessage">
<tr>
<td class="ErrorSymbol"><div class="ErrorSymbol">[img]../../login/images/default_design/icon-error.gif[/img]</div></td>
<td class="ErrorText">Login with username and password is not working in the moment, please try another login method.</td>
</tr>
</table>
PasswordError -->
<div class="loginBodyPwd"><div>

My  e-mail address

<input maxlength="255" value="" name="usr_name" type="text" class="textfield " />

My password

<input maxlength="32" value="" class="textfield " type="password" name="usr_password" />


<div id="saveEmail">

<input type="checkbox" name="SaveEmail" class="checkbox" />


<div class="checkboxPwdLabel">Remember my e-mail address</div>
</div>

</div></div>
<button accesskey="e" name="login" type="submit" class="button loginPwdButton">Login</button>
<input name="AUTHMETHOD" value="UserPassword" type="hidden" />
<input name="Design" value="default_design_intranet" type="hidden" />
<input name="GAURI" value="https://dev.myProject.myCompany.com/webCenter/" type="hidden" />
<input name="URI" value="https://dev.myProject.myCompany.com/webCenter/" type="hidden" />
<input name="GAREASONCODE" value="-1" type="hidden" />
<input name="GARESOURCEID" value="dev1entitle" type="hidden" />
<input name="loginPassword" value="" type="hidden" />
<input name="LOCALE" value="en_US" type="hidden" />

</form>
<div class="loginAddContent">


<form action="?" method="post" name="new_Password" id="form_new_Password" target="_self" onSubmit="return isSingleClick()">

    		<input type="hidden" name="lang" value="en" />
	
<div style="font-weight: bold">Do you need a password?</div>
My  e-mail address

<input maxlength="255" value="" name="mail" type="text" class="textfield " />

<button name="requestPassword" type="submit" class="button pwdButton">Request</button>
</form>


</div>

</div>
</td>


</tr>
</table>

</body>
</html>
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Problem mit HTTPUnit Allgemeines EE 1
D JSF Form based authentication mit JSF templating Allgemeines EE 2
N Unterminated &lt;sf:form tag Allgemeines EE 3
F Form based authentication Allgemeines EE 4
F FORM Auth in JBoss für User mit falscher Rolle ? Allgemeines EE 2
Q Form Based Authentication - Session Attribute ? Allgemeines EE 2
Q Form Based Authentication erweitern? Custom JDBCRealm!?! Allgemeines EE 14
K J2EE Security - A JSF based Login Form Allgemeines EE 7
N <h:form id=". wie kommt man an diese Id? Allgemeines EE 2
B JSF - Form. je nach checked Radio um Feld erweitern Allgemeines EE 3
W Eine Form an einen fremden Server schicken. Allgemeines EE 3
W Enter in einer Form mit mehreren Submits Allgemeines EE 2
E Seltsames Verhalten bei <form> - Tag und Tomcat Allgemeines EE 8
M STRUTS/Cannot retrieve definition for form bean null on acti Allgemeines EE 4
P Struts Form Bean vs. Session Variable Allgemeines EE 6
F Form Based Authentication Allgemeines EE 2
R html-form mit bean:write Allgemeines EE 10
clemson [Struts] Innerhalb Action auf form zugreifen Allgemeines EE 4
G Struts-Form: in validate- oder reset-Methode umleiten. Allgemeines EE 3
A Form Validierung mit Struts? Allgemeines EE 2
A struts: html:form-tag das Attribut "name" ersetzen Allgemeines EE 7
T Zwei Buttons in derselben FORM rufen unterschied. Servlets a Allgemeines EE 10
M doGet()-Methode wird nicht geladen Allgemeines EE 3
B Datenbank Resource wird nicht gefunden Allgemeines EE 1
OnDemand JSF Stacktrace wird nicht korrekt ausgegeben Allgemeines EE 1
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
S Drools - Stop sobald erste Regel getroffen wird Allgemeines EE 2
S a4j:ajax Event wird 2 Mal gefeuert. Allgemeines EE 0
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
Y JSF EJB wird nicht injected Allgemeines EE 18
A Wie kann ich verhinder, dass die seite angezeigt wird? Allgemeines EE 3
P Prozess wird nicht beendet Allgemeines EE 4
C JSP wird nur halb geladen Allgemeines EE 2
G jsp:getProperty wird mehrfach aufgerufen - Warum? Allgemeines EE 3
A action-Methode wird nicht aufgerufen Allgemeines EE 7
M taglib wird nicht gefunden Allgemeines EE 9
N JSF + Facelets: Datatable wird nicht angezeigt Allgemeines EE 1
G EJB - EJB wird nicht ins Servlet geladen Allgemeines EE 3
F doFilter wird zwei mal aufgerufen Allgemeines EE 5
M Action wird 2 mal durchlaufen Allgemeines EE 3
P JSF Seite wird nicht gestartet Allgemeines EE 4
B FileInputStream(sPath); file wird nicht gefunden Allgemeines EE 5
F MyFaces und Tiles: <tiles:insert> wird nicht erkannt Allgemeines EE 10
G welcher Appserver wird verwendet Allgemeines EE 4
S package wird nicht gefunden Allgemeines EE 2
H Servlet: init() wird 2x ausgeführt Allgemeines EE 8
E Tomcat/Servlet Problem - Servlet wird nicht gefunden Allgemeines EE 8
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
F Servlet: DoPost wird zweimal aufgerufen Allgemeines EE 3
M Servlet: CSS der JSP wird bei einem forward nicht gefunden? Allgemeines EE 2
S ResSet wird "vernichtet" Allgemeines EE 5
D HTML-Code von JSP wird in Browser nicht angezeigt?! Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben