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

📄 formparameterstest.java

📁 这是远程web服务调用的一个包,可以将JSP直接作为服务
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        request.setParameter( "color", "black" );        request.setParameter( "color", new String[] { "blue", "red" } );    }    public void testRadioButtonValidation() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                       "<Input type=radio name=color value=red>Crimson" +                                       "<Input type=radio name=color value=blue>Aquamarine" +                                       "<Input type=radio name=color value=green>Chartreuse" +                                       "<Input type=submit></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebRequest request = page.getForms()[0].getRequest();        assertEquals( "color options", new String[] { "red", "blue", "green" }, page.getForms()[0].getOptionValues( "color" ) );        assertEquals( "color names", new String[] { "Crimson", "Aquamarine", "Chartreuse" }, page.getForms()[0].getOptions( "color" ) );        request.setParameter( "color", "red" );        request.setParameter( "color", "blue" );        validateSetParameterRejected( request, "color", "black", "setting radio buttons to unknown value" );        validateSetParameterRejected( request, "color", new String[] { "blue", "red" }, "setting radio buttons to multiple values" );    }    public void testCheckboxValidationBypassDeprecated() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                       "<Input type=checkbox name=use_color>" +                                       "<Input type=checkbox name=color value=red>" +                                       "<Input type=checkbox name=color value=blue>" +                                       "<Input type=submit></form>" );        HttpUnitOptions.setParameterValuesValidated( false );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebRequest request = page.getForms()[0].getRequest();        request.setParameter( "use_color", "red" );        request.setParameter( "color", "green" );    }    public void testCheckboxValidationBypass() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                       "<Input type=checkbox name=use_color>" +                                       "<Input type=checkbox name=color value=red>" +                                       "<Input type=checkbox name=color value=blue>" +                                       "<Input type=submit></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebRequest request = page.getForms()[0].newUnvalidatedRequest();        request.setParameter( "use_color", "red" );        request.setParameter( "color", "green" );    }    public void testCheckboxValidation() throws Exception {        defineWebPage( "Default", "<form method=GET action = 'ask?color='>" +                                       "<Input type=checkbox name=use_color>" +                                       "<Input type=checkbox name=color value=red>Scarlet" +                                       "<Input type=checkbox name=color value=blue>Turquoise" +                                       "<Input type=submit></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        assertEquals( "Color values", new String[] { "Scarlet", "Turquoise" }, page.getForms()[0].getOptions( "color" ) );        WebRequest request = page.getForms()[0].getRequest();        request.setParameter( "use_color", "on" );        request.removeParameter( "use_color" );        validateSetParameterRejected( request, "use_color", "red", "setting checkbox to a string value" );        request.setParameter( "color", "red" );        request.setParameter( "color", new String[] { "red", "blue" } );        validateSetParameterRejected( request, "color", "on", "setting checkbox to an incorrect value" );        validateSetParameterRejected( request, "color", new String[] { "green", "red" }, "setting checkbox to an incorrect value" );    }    public void testCheckboxShortcuts() throws Exception {        defineWebPage( "Default", "<form method=GET id='boxes'>" +                                       "<Input type=checkbox name=use_color>" +                                       "<Input type=checkbox name=running value=fast>" +                                       "<Input type=checkbox name=color value=red>Scarlet" +                                       "<Input type=checkbox name=color value=blue>Turquoise" +                                       "<Input type=text name=fish>" +                                       "<Input type=submit></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getFormWithID( "boxes" );        form.toggleCheckbox( "use_color" );        assertEquals( "'use_color' checkbox after toggle", "on", form.getParameterValue( "use_color" ) );        form.setCheckbox( "use_color", false );        assertEquals( "'use_color' checkbox after set-false", null, form.getParameterValue( "use_color" ) );        form.toggleCheckbox( "running" );        assertEquals( "'running' checkbox after toggle", "fast", form.getParameterValue( "running" ) );        try {            form.setCheckbox( "color", true );            fail( "Did not forbid setting checkbox with multiple values" );        } catch (IllegalRequestParameterException e) {        }        try {            form.toggleCheckbox( "fish" );            fail( "Did not forbid toggling non-checkbox parameter" );        } catch (IllegalRequestParameterException e) {        }        form.toggleCheckbox( "color", "red" );        assertMatchingSet( "color checkboxes", new String[] { "red" }, form.getParameterValues( "color" ) );        form.setCheckbox( "color", "blue", true );        assertMatchingSet( "color checkboxes", new String[] { "red", "blue" }, form.getParameterValues( "color" ) );        try {            form.setCheckbox( "color", "green", true );            fail( "Did not forbid setting checkbox with unknown value" );        } catch (IllegalRequestParameterException e) {        }    }    public void testReadOnlyControls() throws Exception {        defineWebPage( "Default", "<form method=GET action = \"/ask\">" +                                       "<Input readonly type=checkbox name=color value=red checked>" +                                       "<Input type=checkbox name=color value=blue>" +                                       "<Input type=radio name=species value=hippo readonly>" +                                       "<Input type=radio name=species value=kangaroo checked>" +                                       "<Input type=radio name=species value=lemur>" +                                       "<textarea name='big' readonly rows=2 cols=40>stop me</textarea>" +                                       "<Input type=text name=age value=12 readonly value='12'></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = page.getForms()[0].getRequest();        assertFalse( "'color' incorrectly reported as read-only", form.isReadOnlyParameter( "color" ) );        assertFalse( "'species' incorrectly reported as read-only", form.isReadOnlyParameter( "species" ) );        assertTrue( "'big' should be reported as read-only", form.isReadOnlyParameter( "big" ) );        assertTrue( "'age' should be reported as read-only", form.isReadOnlyParameter( "age" ) );        assertMatchingSet( "selected color", new String[] { "red" }, form.getParameterValues( "color" ) );        assertEquals( "selected animal", "kangaroo", form.getParameterValue( "species" ) );        assertEquals( "age", "12", form.getParameterValue( "age" ) );        assertMatchingSet( "color choices", new String[] { "red", "blue" }, form.getOptionValues( "color" ) );        assertMatchingSet( "species choices", new String[] { "kangaroo", "lemur" }, form.getOptionValues( "species" ) );        validateSetParameterRejected( request, "color", "blue", "unchecking 'red'" );        validateSetParameterRejected( request, "color", new String[] { "blue" }, "unchecking 'red'" );        validateSetParameterRejected( request, "species", "hippo", "selecting 'hippo'" );        validateSetParameterRejected( request, "age", "15", "changing a read-only text parameter value" );        validateSetParameterRejected( request, "big", "go-go", "changing a read-only textarea parameter value" );        request.setParameter( "color", "red" );        request.setParameter( "color", new String[] { "red", "blue" } );        request.setParameter( "species", "lemur" );        request.setParameter( "age", "12" );        request.setParameter( "big", "stop me" );    }    public void testDisabledControls() throws Exception {        defineWebPage( "Default", "<form method=GET action = '/ask'>" +                                       "<Input disabled type=checkbox name=color value=red checked>" +                                       "<Input type=checkbox name=color value=blue>" +                                       "<Input type=radio name=species value=hippo disabled>" +                                       "<Input type=radio name=species value=kangaroo checked>" +                                       "<Input type=radio name=species value=lemur>" +                                       "<textarea name='big' disabled rows=2 cols=40>stop me</textarea>" +                                       "<Input type=text name=age value=12 disabled value='12'></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        WebRequest request = page.getForms()[0].getRequest();        assertEquals( "Expected request URL", getHostPath() + "/ask?species=kangaroo", request.getURL().toExternalForm() );        assertFalse( "'color' incorrectly reported as disabled", form.isDisabledParameter( "color" ) );        assertFalse( "'species' incorrectly reported as disabled", form.isDisabledParameter( "species" ) );        assertTrue( "'big' should be reported as disabled", form.isDisabledParameter( "big" ) );        assertTrue( "'age' should be reported as disabled", form.isDisabledParameter( "age" ) );        assertMatchingSet( "selected color", new String[] { "red" }, form.getParameterValues( "color" ) );        assertEquals( "selected animal", "kangaroo", form.getParameterValue( "species" ) );        assertEquals( "age", "12", form.getParameterValue( "age" ) );        assertMatchingSet( "color choices", new String[] { "red", "blue" }, form.getOptionValues( "color" ) );        assertMatchingSet( "species choices", new String[] { "kangaroo", "lemur" }, form.getOptionValues( "species" ) );        validateSetParameterRejected( request, "color", "blue", "unchecking 'red'" );        validateSetParameterRejected( request, "color", new String[] { "blue" }, "unchecking 'red'" );        validateSetParameterRejected( request, "species", "hippo", "selecting 'hippo'" );        validateSetParameterRejected( request, "age", "15", "changing a read-only text parameter value" );        validateSetParameterRejected( request, "big", "go-go", "changing a read-only textarea parameter value" );        request.setParameter( "color", "red" );        request.setParameter( "color", new String[] { "red", "blue" } );        request.setParameter( "species", "lemur" );        request.setParameter( "age", "12" );        request.setParameter( "big", "stop me" );    }    public void testFileParameterValue() throws Exception {        defineWebPage( "Default", "<form method=POST action='/ask'>" +                                  "<Input type=file name=File>" +                                  "<Input type=submit value=Upload></form>" );        WebResponse page = _wc.getResponse( getHostPath() + "/Default.html" );        WebForm form = page.getForms()[0];        String[] values = form.getParameterValues( "File" );        assertEquals( "Number of file parameter values", 1, values.length );        assertEquals( "Default selected filename", "", values[0] );        final File file = new File( "dummy.txt" );        form.setParameter( "File", new UploadFileSpec[] { new UploadFileSpec( file ) } );        assertEquals( "Selected filename", file.getAbsolutePath(), form.getParameterValue( "File" ) );        form.setParameter( "File", file );        WebRequest wr = form.getRequest();        assertEquals( "File from validated request", file.getAbsolutePath(), wr.getParameterValues( "File" )[0] );        wr = form.newUnvalidatedRequest();        assertEquals( "File from unvalidated request", file.getAbsolutePath(), wr.getParameterValues( "File" )[0] );    }//---------------------------------------------- private members ------------------------------------------------    private WebConversation _wc;    private void validateSetParameterRejected( WebRequest request, String parameterName, String value, String comment ) throws Exception {        try {            request.setParameter( parameterName, value );            fail( "Did not forbid " + comment );        } catch (IllegalRequestParameterException e) {        }    }    private void validateSetParameterRejected( WebRequest request, String parameterName, String[] values, String comment ) throws Exception {        try {            request.setParameter( parameterName, values );            fail( "Did not forbid " + comment );        } catch (IllegalRequestParameterException e) {        }    }}

⌨️ 快捷键说明

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