Re: Question: How to add new parameters to the form of WebResponse object?

Russell Gold <[email protected]>
Newsgroups gmane.comp.web.httpunit.devel
Message-ID <[email protected]>
On Sep 17, 2007, at 1:04 PM, emily chen wrote:

> Hi there,
>
> I am a new user of httpUnit test framework. so far so good.
>
> For every page of my web application, I need to login the user  
> first, then test the sequence pages according the navigation rules.  
> For example:
>
> 1: login the user, if success, then redirect to “Register Computer  
> Page”.
> 2: During processing the register computer, we need to read the  
> active user information (userId/password, which was saved to  
> HTTPRequest in “login page”) form HTTPRequest object, and get the  
> relative data from database.
>
> But in the “Register ComputerPage”, the userId/password doesn’t  
> exist because of security issue. In order to pass the testing, I  
> need to add two new parameters as hidden filed to the FROM of  
> WebResponse object. I search the mailing list, and could not find  
> the answer. Could anybody give me some suggestion?
>
> Question: How to add new parameters to the form of WebResponse object?


I don't think I understand the question - the WebResponse object is  
what you get back from the server. You add new parameters to the  
Request object.


>
> Here is my testing code:
>
> public void testGoodLogin() throws Exception {
>         HttpUnitOptions.setLoggingHttpHeaders(true);
>        HttpUnitOptions.setExceptionsThrownOnScriptError(false);
>
>         WebConversation conversation = new WebConversation();
>        WebRequest request = new GetMethodWebRequest("http:// 
> localhost:8080/merchant/");
>
>         WebResponse response = conversation.getResponse(request);
>
>         //Get the login page!!
>         WebForm loginForm = response.getForms()[0];
>         request = loginForm.getRequest();
>
>         request.setParameter("userid", "lucy");
>         request.setParameter("password", "lucy");
>
>         //submit the loginForm form.
>         loginForm.submit();
>
>         response = conversation.getResponse(request);
>
>         assertFalse("Login not accepted", response.getText().indexOf 
> ("Error:  User/Password not found") != -1);
>
>        LOGGER.logDebug(response.getText());
>
>      // SUCCESSFUL LOGIN, AND REDIRECT TO “Register Computer” Page!!
>         boolean isRegisterComputerPage = response.getText().indexOf 
> (" Register Computer") != -1;
>
>         if (isRegisterComputerPage) {
>             doRegisteredTerminal(response); //test “Register  
> Computer” Page
>     }
>
> }
>
>
> private void doRegisteredTerminal(WebResponse response) throws  
> Exception {
>         String testJspPageName = "SecuredTerminalRegister.jsp";
>
>         WebForm terminalForm = null;
>         try {
>             terminalForm = response.getFormWithName("terminalForm");
>         } catch (SAXException e) {
>             LOGGER.logDebug("Cound not find form with name:  
> terminalForm in " + testJspPageName);
>             fail("Cound not find form with name: terminalForm in "  
> + testJspPageName);
>         }
>
>         WebRequest request = terminalForm.getRequest();
>
>         //NEED TO ADD NEW PARAMETER: userId/password TO terminalForm.
> // but I don’t know how???? The following code doesn’t work.
>            response.getScriptableObject().set("userid",  
> "webpayadmin");
>             response.getScriptableObject().set("password", "yippee");
>
>         //selected the first terminal.
>         String[] selectedTerminals = terminalForm.getOptionValues 
> ("register");
>         String selectTerminalName = selectedTerminals[0];
>         request.setParameter("register", selectTerminalName);
>
>         //submit the “terminalForm” form.
>         try {
>             terminalForm.submit();
>         } catch (IOException e) {
>             e.printStackTrace();
>             fail("Submit terminalForm failed");
>         } catch (SAXException e) {
>             e.printStackTrace();
>             fail("Submit terminalForm failed");
>         }
>     }
>
>
>
> .
>
>
>
>
>
>
> Be a better Globetrotter. Get better travel answers from someone  
> who knows.
> Yahoo! Answers - Check it out.
> ---------------------------------------------------------------------- 
> ---
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ 
> _______________________________________________
> Httpunit-develop mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/httpunit-develop

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

_______________________________________________
Httpunit-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/httpunit-develop
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.