⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formsubmittest.java

📁 这是远程web服务调用的一个包,可以将JSP直接作为服务
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=image value=name src=\"\">" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = form.getRequest();        assertEquals( getHostPath() + "/ask?age=12", request.getURL().toExternalForm() );    }    public void testImageButtonPositionalSubmit() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=image name=update value=name src=\"\">" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = form.getRequest( form.getSubmitButton( "update" ), 10, 15 );        assertEquals( getHostPath() + "/ask?age=12&update=name&update.x=10&update.y=15", request.getURL().toExternalForm() );        request.setImageButtonClickPosition( 5, 20 );        assertEquals( getHostPath() + "/ask?age=12&update=name&update.x=5&update.y=20", request.getURL().toExternalForm() );    }    public void testImageButtonNoValuePositionalSubmit() throws Exception {        defineWebPage( "Default", "<form method='GET' action='test.jsp'>" +                                  "<input type='image' src='image.gif' name='aButton'>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = form.getRequest( form.getSubmitButton( "aButton" ), 20, 5 );        assertEquals( getHostPath() + "/test.jsp?aButton.x=20&aButton.y=5", request.getURL().toExternalForm() );    }    public void testImageButtonNoValueUncheckedPositionalSubmit() throws Exception {        defineWebPage( "Default", "<form method='GET' action='test.jsp'>" +                                  "<input type='image' src='image.gif' name='aButton'>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = form.newUnvalidatedRequest( form.getSubmitButton( "aButton" ), 20, 5 );        assertEqualQueries( getHostPath() + "/test.jsp?aButton.x=20&aButton.y=5", request.getURL().toExternalForm() );    }    public void testSubmitButtonAttributes() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        SubmitButton[] buttons = form.getSubmitButtons();        assertEquals( "num detected submit buttons", 1, buttons.length );        assertEquals( "submit button name", "update", buttons[0].getName() );        assertEquals( "submit button value", "age", buttons[0].getValue() );    }    public void testSubmitButtonSelectionByName() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Input type=submit name=recompute value=age>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        SubmitButton button = form.getSubmitButton( "zork" );        assertNull( "Found a non-existent button", button );        button = form.getSubmitButton( "update" );        assertNotNull( "Didn't find the desired button", button );        assertEquals( "submit button name", "update", button.getName() );        assertEquals( "submit button value", "age", button.getValue() );    }    public void testSubmitButtonSelectionByNameAndValue() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Input type=submit name=update value=name>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        SubmitButton button = form.getSubmitButton( "update" );        assertNotNull( "Didn't find the desired button", button );        assertEquals( "submit button name", "update", button.getName() );        assertEquals( "submit button value", "age", button.getValue() );        button = form.getSubmitButton( "update", "name" );        assertNotNull( "Didn't find the desired button", button );        assertEquals( "submit button name", "update", button.getName() );        assertEquals( "submit button value", "name", button.getValue() );    }    public void testNamedButtonSubmitString() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Button type=submit name=update value=name>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = form.getRequest( form.getSubmitButton( "update", "name" ) );        assertEquals( getHostPath() + "/ask?age=12&update=name", request.getURL().toExternalForm() );        request = form.getRequest( "update", "name" );        assertEquals( getHostPath() + "/ask?age=12&update=name", request.getURL().toExternalForm() );        request = form.getRequest( "update" );        assertEquals( getHostPath() + "/ask?age=12&update=age", request.getURL().toExternalForm() );        try {            request.setImageButtonClickPosition( 1, 2 );            fail( "Should not allow set position with non-image button" );        } catch (IllegalRequestParameterException e) {        }    }    public void testUnnamedButtonSubmit() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Input type=submit name=update value=name>" +                                  "</form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        try {            form.getRequest();            fail( "Should not allow submit with unnamed button" );        } catch (IllegalRequestParameterException e) {        }    }    public void testForeignSubmitButtonDetection() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Input type=submit name=update value=name>" +                                  "</form>" );        defineWebPage( "Dupl",    "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=update value=age>" +                                  "<Input type=submit name=update value=name>" +                                  "</form>" );        defineWebPage( "Wrong",   "<form method=GET action = \"/ask\">" +                                  "<Input type=text name=age value=12>" +                                  "<Input type=submit name=save value=age>" +                                  "</form>" );        WebResponse other  = _wc.getResponse( getHostPath() + "/Dupl.html" );        WebResponse page   = _wc.getResponse( getHostPath() + "/Default.html" );        WebResponse wrong  = _wc.getResponse( getHostPath() + "/Wrong.html" );        WebForm form = page.getForms()[0];        WebForm otherForm = other.getForms()[0];        WebForm wrongForm = wrong.getForms()[0];        form.getRequest( otherForm.getSubmitButtons()[0] );        try {            form.getRequest( wrongForm.getSubmitButtons()[0] );            fail( "Failed to reject illegal button" );        } catch (IllegalRequestParameterException e) {        }        form.newUnvalidatedRequest( wrongForm.getSubmitButtons()[0] );        HttpUnitOptions.setParameterValuesValidated( false );        form.getRequest( wrongForm.getSubmitButtons()[0] );    }    public void testNoActionSupplied() throws Exception {        defineWebPage( "abc/form", "<form name=\"test\">" +                               "  <input type=\"text\" name=\"aTextField\">" +                               "  <input type=\"submit\" name=\"apply\" value=\"Apply\">" +                               "</form>" );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form.html" );        WebForm form    = wr.getForms()[0];        WebRequest req  = form.getRequest( "apply" );        req.setParameter( "aTextField", "test" );        assertEquals( getHostPath() + "/abc/form.html?aTextField=test&apply=Apply",                            req.getURL().toExternalForm() );    }    public void testNoActionSuppliedWhenBaseHasParams() throws Exception {        defineResource( "abc/form?param1=value&param2=value", "<form name=\"test\">" +                               "  <input type=\"text\" name=\"aTextField\">" +                               "  <input type=\"submit\" name=\"apply\" value=\"Apply\">" +                               "</form>" );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form?param1=value&param2=value" );        WebForm form    = wr.getForms()[0];        WebRequest req  = form.getRequest( "apply" );        req.setParameter( "aTextField", "test" );        assertEquals( getHostPath() + "/abc/form?param1=value&param2=value&aTextField=test&apply=Apply",                            req.getURL().toExternalForm() );    }    public void testNoActionSuppliedWhenBaseHasParamsSetByTheForm() throws Exception {        defineResource( "abc/form?param1=value&param2=value", "<form name=\"test\">" +                               "  <input type=\"text\" name='param2'>" +                               "  <input type=\"submit\" name=\"apply\" value=\"Apply\">" +                               "</form>" );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form?param1=value&param2=value" );        WebForm form    = wr.getForms()[0];        WebRequest req  = form.getRequest( "apply" );        req.setParameter( "param2", "test" );        assertEquals( getHostPath() + "/abc/form?param1=value&param2=test&apply=Apply",                            req.getURL().toExternalForm() );    }    public void testPostActionParametersAfterSetAction() throws Exception {        defineWebPage( "abc/form", "<form name=\"test\" method='POST' action='stop?ready=yes'>" +                               "  <input type=\"text\" name=\"aTextField\">" +                               "  <input type=\"submit\" name=\"apply\" value=\"Apply\">" +                               "</form>" );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form.html" );        WebForm form    = wr.getForms()[0];        form.getScriptableObject().setAction( "go?size=3&time=now" );        WebRequest req  = form.getRequest( "apply" );        req.setParameter( "aTextField", "test" );        assertEquals( getHostPath() + "/abc/go?size=3&time=now",                            req.getURL().toExternalForm() );    }    public void testPostParameterEncoding() throws Exception {        defineWebPage( "abc/form", "<form name=\"test\" method='POST' action='/doit'>" +                               "  <input type='text' name='text_field-name*'>" +                               "  <input type='submit' name='apply' value='Apply'>" +                               "</form>" );        setResourceCharSet( "abc/form.html", "iso-8859-3", true );        defineResource( "doit", new PseudoServlet() {            public WebResource getPostResponse() throws IOException {                return new WebResource( new String( getBody() ) );            }        } );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form.html" );        WebForm form    = wr.getForms()[0];        form.setParameter( "text_field-name*", "a value" );        WebResponse response = form.submit();        assertEquals( "posted parameters", "text_field-name*=a+value&apply=Apply", response.getText() );    }    public void testMailtoActionRejected() throws Exception {        defineWebPage( "abc/form", "<form name='test' action='mailto:russgold@httpunit.org'>" +                               "  <input type='text' name='text_field'>" +                               "  <input type='submit' name='apply' value='Apply'>" +                               "</form>" );        WebResponse wr  = _wc.getResponse( getHostPath() + "/abc/form.html" );        WebForm form    = wr.getForms()[0];        form.setParameter( "text_field", "a value" );        try {            form.submit();            fail( "Should have thrown an UnsupportedActionException" );        } catch (UnsupportedActionException success) {            assertTrue( "Did not include mention of bad URL type", success.getMessage().indexOf( "mailto" ) >= 0 );        }    }//---------------------------------------------- private members ------------------------------------------------    private WebConversation _wc;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -