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

📄 testanchormodifier.java

📁 测试工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            HTTPSamplerBase config = makeUrlConfig("/subdir/index\\..*");
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<A HREF=\"index.html\">Goto index page</A></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            String newUrl = config.getUrl().toString();
            assertEquals("http://www.apache.org/subdir/index.html", newUrl);
        }

        public void testSimpleParse5() throws Exception {
            HTTPSamplerBase config = makeUrlConfig("/subdir/index\\.h.*");
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/one/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<a href=\"../index.html\">Goto index page</a></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            String newUrl = config.getUrl().toString();
            assertEquals("http://www.apache.org/subdir/index.html", newUrl);
        }

        public void testFailSimpleParse1() throws Exception {
            HTTPSamplerBase config = makeUrlConfig(".*index.*?param2=.+1");
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<a href=\"/home/index.html?param1=value1\">" + "Goto index page</a></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            String newUrl = config.getUrl().toString();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            assertEquals(newUrl, config.getUrl().toString());
        }

        public void testFailSimpleParse3() throws Exception {
            HTTPSamplerBase config = makeUrlConfig("/home/index.html");
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<a href=\"/home/index.html?param1=value1\">" + "Goto index page</a></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            String newUrl = config.getUrl().toString();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            assertEquals(newUrl + "?param1=value1", config.getUrl().toString());
        }

        public void testFailSimpleParse2() throws Exception {
            HTTPSamplerBase config = makeUrlConfig(".*login\\.html");
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<a href=\"/home/index.html?param1=value1\">" + "Goto index page</a></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setPreviousResult(result);
            parser.process();
            String newUrl = config.getUrl().toString();
            assertTrue(!"http://www.apache.org/home/index.html?param1=value1".equals(newUrl));
            assertEquals(config.getUrl().toString(), newUrl);
        }

        public void testSimpleFormParse() throws Exception {
            HTTPSamplerBase config = makeUrlConfig(".*index.html");
            config.addArgument("test", "g.*");
            config.setMethod(HTTPSamplerBase.POST);
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"test\""
                    + " value=\"goto\">Goto index page</form></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
            assertEquals("test=goto", config.getQueryString());
        }

        public void testBadCharParse() throws Exception {
            HTTPSamplerBase config = makeUrlConfig(".*index.html");
            config.addArgument("te$st", "g.*");
            config.setMethod(HTTPSamplerBase.POST);
            HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
            String responseText = "<html><head><title>Test page</title></head><body>"
                    + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"checkbox\" name=\"te$st\""
                    + " value=\"goto\">Goto index page</form></body></html>";
            HTTPSampleResult result = new HTTPSampleResult();
            result.setResponseData(responseText.getBytes());
            result.setSampleLabel(context.toString());
            result.setURL(context.getUrl());
            jmctx.setCurrentSampler(context);
            jmctx.setCurrentSampler(config);
            jmctx.setPreviousResult(result);
            parser.process();
            assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
            assertEquals("te%24st=goto", config.getQueryString());
        }

        public void testSpecialCharParse() throws Exception {
        String specialChars = "-_.!~*'()%25";// These are some of the special characters
        String htmlEncodedFixture = URLEncoder.encode(specialChars, "UTF-8");
        
        HTTPSamplerBase config = makeUrlConfig(".*index.html");
        config.addArgument("test", ".*");
        config.setMethod(HTTPSamplerBase.POST);
        HTTPSamplerBase context = makeContext("http://www.apache.org/subdir/previous.html");
        String responseText = "<html><head><title>Test page</title></head><body>"
            + "<form action=\"index.html\" method=\"POST\">" + "<input type=\"hidden\" name=\"test\""
            + " value=\"" + htmlEncodedFixture + "\">Goto index page</form></body></html>";
        
        HTTPSampleResult result = new HTTPSampleResult();
        result.setResponseData(responseText.getBytes());
        result.setSampleLabel(context.toString());
        result.setURL(context.getUrl());
        jmctx.setCurrentSampler(context);
        jmctx.setCurrentSampler(config);
        jmctx.setPreviousResult(result);
        parser.process();
        assertEquals("http://www.apache.org/subdir/index.html", config.getUrl().toString());
        assertEquals("test=" + htmlEncodedFixture, config.getQueryString());
      }

        
        private HTTPSamplerBase makeContext(String url) throws MalformedURLException {
            URL u = new URL(url);
            HTTPSamplerBase context = new HTTPNullSampler();
            context.setDomain(u.getHost());
            context.setPath(u.getPath());
            context.setPort(u.getPort());
            context.setProtocol(u.getProtocol());
            context.parseArguments(u.getQuery());
            return context;
        }

        private HTTPSamplerBase makeUrlConfig(String path) {
            HTTPSamplerBase config = new HTTPNullSampler();
            config.setDomain("www.apache.org");
            config.setMethod(HTTPSamplerBase.GET);
            config.setPath(path);
            config.setPort(HTTPSamplerBase.DEFAULT_HTTP_PORT);
            config.setProtocol(HTTPSamplerBase.PROTOCOL_HTTP);
            return config;
        }
}

⌨️ 快捷键说明

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