use of org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase in project jmeter by apache.
the class TestAnchorModifier method testSpecialCharParse.
@Test
public void testSpecialCharParse() throws Exception {
// These are some of the special characters
String specialChars = "-_.!~*'()%25";
String htmlEncodedFixture = URLEncoder.encode(specialChars, StandardCharsets.UTF_8.name());
HTTPSamplerBase config = makeUrlConfig(".*index.html");
config.addArgument("test", ".*");
config.setMethod(HTTPConstants.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, null);
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());
}
use of org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase in project jmeter by apache.
the class TestAnchorModifier method testSimpleParse3.
@Test
public void testSimpleParse3() throws Exception {
HTTPSamplerBase config = makeUrlConfig(".*index.*");
config.getArguments().addArgument("param1", "value1");
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, null);
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/home/index.html?param1=value1", newUrl);
}
use of org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase in project jmeter by apache.
the class TestAnchorModifier method testSimpleParse1.
// Test https works too
@Test
public void testSimpleParse1() throws Exception {
HTTPSamplerBase config = makeUrlConfig(".*/index\\.html");
config.setProtocol(HTTPConstants.PROTOCOL_HTTPS);
config.setPort(HTTPConstants.DEFAULT_HTTPS_PORT);
HTTPSamplerBase context = makeContext("https://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();
jmctx.setCurrentSampler(context);
jmctx.setCurrentSampler(config);
result.setResponseData(responseText, null);
result.setSampleLabel(context.toString());
result.setSamplerData(context.toString());
result.setURL(context.getUrl());
jmctx.setPreviousResult(result);
parser.process();
assertEquals("https://www.apache.org/subdir/index.html", config.getUrl().toString());
}
use of org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase in project jmeter by apache.
the class TestAnchorModifier method testFailSimpleParse2.
@Test
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, null);
result.setSampleLabel(context.toString());
result.setURL(context.getUrl());
jmctx.setCurrentSampler(context);
jmctx.setPreviousResult(result);
parser.process();
String newUrl = config.getUrl().toString();
assertNotEquals("http://www.apache.org/home/index.html?param1=value1", newUrl);
assertEquals(config.getUrl().toString(), newUrl);
}
use of org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase in project jmeter by apache.
the class TestAnchorModifier method testBadCharParse.
@Test
public void testBadCharParse() throws Exception {
HTTPSamplerBase config = makeUrlConfig(".*index.html");
config.addArgument("te$st", "g.*");
config.setMethod(HTTPConstants.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, null);
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());
}
Aggregations