Author: sebb
Date: Wed Apr 29 00:18:16 2009
New Revision: 769598
URL: http://svn.apache.org/viewvc?rev=769598&view=rev
Log:
HTTP Samplers now support connection and request timeouts (requires Java 1.5
for Java Http sampler)
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/images/screenshots/http-config/http-request-defaults.png
jakarta/jmeter/trunk/xdocs/images/screenshots/webtest/http-request.png
jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
Wed Apr 29 00:18:16 2009
@@ -883,6 +883,9 @@
web_testing_embedded_url_pattern=Embedded URLs must match\:
web_testing_retrieve_images=Retrieve All Embedded Resources from HTML Files
web_testing_title=HTTP Request
+web_server_timeout_connect=Connect:
+web_server_timeout_response=Response:
+web_server_timeout_title=Timeouts (milliseconds)
webservice_proxy_host=Proxy Host
webservice_proxy_note=If Use HTTP Proxy is checked, but no host or port are
provided, the sampler
webservice_proxy_note2=will look at command line options. If no proxy host or
port are provided by
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
Wed Apr 29 00:18:16 2009
@@ -62,32 +62,22 @@
private void init() {// called from ctor, so must not be overridable
this.setLayout(new BorderLayout());
- // WEB SERVER PANEL
- VerticalPanel webServerPanel = new VerticalPanel();
-
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
- JMeterUtils.getResString("web_server"))); // $NON-NLS-1$
- final JPanel domainPanel = getDomainPanel();
- final JPanel portPanel = getPortPanel();
- domainPanel.add(portPanel,BorderLayout.EAST);
- webServerPanel.add(domainPanel);
- //webServerPanel.add(getPortPanel());
-
- JPanel northPanel = new JPanel();
- northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
- northPanel.add(getProtocolAndMethodPanel());
- northPanel.add(getPathPanel());
-
// WEB REQUEST PANEL
JPanel webRequestPanel = new JPanel();
webRequestPanel.setLayout(new BorderLayout());
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_request"))); // $NON-NLS-1$
+ JPanel northPanel = new JPanel();
+ northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
+ northPanel.add(getProtocolAndMethodPanel());
+ northPanel.add(getPathPanel());
+
webRequestPanel.add(northPanel, BorderLayout.NORTH);
webRequestPanel.add(getParameterPanel(), BorderLayout.CENTER);
webRequestPanel.add(getHTTPFileArgsPanel(), BorderLayout.SOUTH);
- this.add(webServerPanel, BorderLayout.NORTH);
+ this.add(getWebServerTimeoutPanel(), BorderLayout.NORTH);
this.add(webRequestPanel, BorderLayout.CENTER);
}
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Wed Apr 29 00:18:16 2009
@@ -34,6 +34,7 @@
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.ConfigTestElement;
+import org.apache.jmeter.gui.util.HorizontalPanel;
import org.apache.jmeter.gui.util.VerticalPanel;
import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
@@ -48,34 +49,21 @@
/**
* Basic URL / HTTP Request configuration:
* - host and port
+ * - connect and response timeouts
* - path, method, encoding, parameters
* - redirects & keepalive
*/
public class UrlConfigGui extends JPanel implements ChangeListener {
- protected HTTPArgumentsPanel argsPanel;
-
- private static final String DOMAIN = "domain"; // $NON-NLS-1$
-
- private static final String PORT = "port"; // $NON-NLS-1$
-
- private static final String PROTOCOL = "protocol"; // $NON-NLS-1$
-
- private static final String CONTENT_ENCODING = "content_encoding"; //
$NON-NLS-1$
-
- private static final String PATH = "path"; // $NON-NLS-1$
-
- private static final String FOLLOW_REDIRECTS = "follow_redirects"; //
$NON-NLS-1$
-
- private static final String AUTO_REDIRECTS = "auto_redirects"; //
$NON-NLS-1$
-
- private static final String USE_KEEPALIVE = "use_keepalive"; // $NON-NLS-1$
-
- private static final String USE_MULTIPART_FOR_POST =
"use_multipart_for_post"; // $NON-NLS-1$
+ private HTTPArgumentsPanel argsPanel;
private JTextField domain;
private JTextField port;
+ private JTextField connectTimeOut;
+
+ private JTextField responseTimeOut;
+
private JTextField protocol;
private JTextField contentEncoding;
@@ -105,12 +93,6 @@
init();
}
- protected void configureTestElement(TestElement mc) {
- mc.setName(getName());
- mc.setProperty(TestElement.GUI_CLASS, this.getClass().getName());
- mc.setProperty(TestElement.TEST_CLASS, mc.getClass().getName());
- }
-
public void clear() {
domain.setText(""); // $NON-NLS-1$
if (notConfigOnly){
@@ -122,6 +104,8 @@
}
path.setText(""); // $NON-NLS-1$
port.setText(""); // $NON-NLS-1$
+ connectTimeOut.setText(""); // $NON-NLS-1$
+ responseTimeOut.setText(""); // $NON-NLS-1$
protocol.setText(""); // $NON-NLS-1$
contentEncoding.setText(""); // $NON-NLS-1$
argsPanel.clear();
@@ -130,7 +114,9 @@
public TestElement createTestElement() {
ConfigTestElement element = new ConfigTestElement();
- this.configureTestElement(element);
+ element.setName(this.getName());
+ element.setProperty(TestElement.GUI_CLASS, this.getClass().getName());
+ element.setProperty(TestElement.TEST_CLASS,
element.getClass().getName());
modifyTestElement(element);
return element;
}
@@ -147,6 +133,8 @@
element.setProperty(new TestElementProperty(HTTPSamplerBase.ARGUMENTS,
args));
element.setProperty(HTTPSamplerBase.DOMAIN, domain.getText());
element.setProperty(HTTPSamplerBase.PORT, port.getText());
+ element.setProperty(HTTPSamplerBase.CONNECT_TIMEOUT,
connectTimeOut.getText());
+ element.setProperty(HTTPSamplerBase.RESPONSE_TIMEOUT,
responseTimeOut.getText());
element.setProperty(HTTPSamplerBase.PROTOCOL, protocol.getText());
element.setProperty(HTTPSamplerBase.CONTENT_ENCODING,
contentEncoding.getText());
element.setProperty(HTTPSamplerBase.PATH, path.getText());
@@ -178,6 +166,8 @@
} else {
port.setText(portString);
}
+
connectTimeOut.setText(el.getPropertyAsString(HTTPSamplerBase.CONNECT_TIMEOUT));
+
responseTimeOut.setText(el.getPropertyAsString(HTTPSamplerBase.RESPONSE_TIMEOUT));
protocol.setText(el.getPropertyAsString(HTTPSamplerBase.PROTOCOL));
contentEncoding.setText(el.getPropertyAsString(HTTPSamplerBase.CONTENT_ENCODING));
path.setText(el.getPropertyAsString(HTTPSamplerBase.PATH));
@@ -193,35 +183,51 @@
private void init() {// called from ctor, so must not be overridable
this.setLayout(new BorderLayout());
- // WEB SERVER PANEL
- VerticalPanel webServerPanel = new VerticalPanel();
-
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
- JMeterUtils.getResString("web_server"))); // $NON-NLS-1$
- final JPanel domainPanel = getDomainPanel();
- final JPanel portPanel = getPortPanel();
- domainPanel.add(portPanel,BorderLayout.EAST);
- webServerPanel.add(domainPanel);
-
- JPanel northPanel = new JPanel();
- northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
- northPanel.add(getProtocolAndMethodPanel());
- northPanel.add(getPathPanel());
-
// WEB REQUEST PANEL
JPanel webRequestPanel = new JPanel();
webRequestPanel.setLayout(new BorderLayout());
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_request"))); // $NON-NLS-1$
+ JPanel northPanel = new JPanel();
+ northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
+ northPanel.add(getProtocolAndMethodPanel());
+ northPanel.add(getPathPanel());
+
webRequestPanel.add(northPanel, BorderLayout.NORTH);
webRequestPanel.add(getParameterPanel(), BorderLayout.CENTER);
- this.add(webServerPanel, BorderLayout.NORTH);
+ this.add(getWebServerTimeoutPanel(), BorderLayout.NORTH);
this.add(webRequestPanel, BorderLayout.CENTER);
}
- protected JPanel getPortPanel() {
- port = new JTextField(6);
- port.setName(PORT);
+
+ protected final JPanel getWebServerTimeoutPanel() {
+ // WEB SERVER PANEL
+ JPanel webServerPanel = new HorizontalPanel();
+
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
+ JMeterUtils.getResString("web_server"))); // $NON-NLS-1$
+ final JPanel domainPanel = getDomainPanel();
+ final JPanel portPanel = getPortPanel();
+ webServerPanel.add(domainPanel);
+ webServerPanel.add(portPanel);
+
+ JPanel timeOut = new HorizontalPanel();
+
timeOut.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
+ JMeterUtils.getResString("web_server_timeout_title"))); //
$NON-NLS-1$
+ final JPanel connPanel = getConnectTimeOutPanel();
+ final JPanel reqPanel = getResponseTimeOutPanel();
+ timeOut.add(connPanel);
+ timeOut.add(reqPanel);
+
+
+ JPanel webServerTimeoutPanel = new VerticalPanel();
+ webServerTimeoutPanel.add(webServerPanel, BorderLayout.CENTER);
+ webServerTimeoutPanel.add(timeOut, BorderLayout.EAST);
+ return webServerTimeoutPanel;
+ }
+
+ private JPanel getPortPanel() {
+ port = new JTextField(4);
JLabel label = new
JLabel(JMeterUtils.getResString("web_server_port")); // $NON-NLS-1$
label.setLabelFor(port);
@@ -233,9 +239,34 @@
return panel;
}
- protected JPanel getDomainPanel() {
+ private JPanel getConnectTimeOutPanel() {
+ connectTimeOut = new JTextField(4);
+
+ JLabel label = new
JLabel(JMeterUtils.getResString("web_server_timeout_connect")); // $NON-NLS-1$
+ label.setLabelFor(connectTimeOut);
+
+ JPanel panel = new JPanel(new BorderLayout(5, 0));
+ panel.add(label, BorderLayout.WEST);
+ panel.add(connectTimeOut, BorderLayout.CENTER);
+
+ return panel;
+ }
+
+ private JPanel getResponseTimeOutPanel() {
+ responseTimeOut = new JTextField(4);
+
+ JLabel label = new
JLabel(JMeterUtils.getResString("web_server_timeout_response")); // $NON-NLS-1$
+ label.setLabelFor(responseTimeOut);
+
+ JPanel panel = new JPanel(new BorderLayout(5, 0));
+ panel.add(label, BorderLayout.WEST);
+ panel.add(responseTimeOut, BorderLayout.CENTER);
+
+ return panel;
+ }
+
+ private JPanel getDomainPanel() {
domain = new JTextField(20);
- domain.setName(DOMAIN);
JLabel label = new
JLabel(JMeterUtils.getResString("web_server_domain")); // $NON-NLS-1$
label.setLabelFor(domain);
@@ -255,27 +286,22 @@
*/
protected Component getPathPanel() {
path = new JTextField(15);
- path.setName(PATH);
JLabel label = new JLabel(JMeterUtils.getResString("path"));
//$NON-NLS-1$
label.setLabelFor(path);
if (notConfigOnly){
followRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects")); // $NON-NLS-1$
- followRedirects.setName(FOLLOW_REDIRECTS);
followRedirects.setSelected(false);
autoRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects_auto")); //$NON-NLS-1$
- autoRedirects.setName(AUTO_REDIRECTS);
autoRedirects.addChangeListener(this);
autoRedirects.setSelected(true);// Default changed in 2.3
useKeepAlive = new
JCheckBox(JMeterUtils.getResString("use_keepalive")); // $NON-NLS-1$
- useKeepAlive.setName(USE_KEEPALIVE);
useKeepAlive.setSelected(true);
useMultipartForPost = new
JCheckBox(JMeterUtils.getResString("use_multipart_for_http_post")); //
$NON-NLS-1$
- useMultipartForPost.setName(USE_MULTIPART_FOR_POST);
useMultipartForPost.setSelected(false);
}
@@ -303,10 +329,8 @@
protected JPanel getProtocolAndMethodPanel() {
// PROTOCOL
protocol = new JTextField(10);
- protocol.setName(PROTOCOL);
// CONTENT_ENCODING
contentEncoding = new JTextField(10);
- contentEncoding.setName(CONTENT_ENCODING);
JLabel protocolLabel = new
JLabel(JMeterUtils.getResString("protocol")); // $NON-NLS-1$
protocolLabel.setLabelFor(protocol);
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
Wed Apr 29 00:18:16 2009
@@ -21,6 +21,8 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.net.BindException;
import java.net.HttpURLConnection;
import java.net.URL;
@@ -65,8 +67,49 @@
JMeterUtils.getPropDefault("http.java.sampler.retries" // $NON-NLS-1$
,10); // Maximum connection retries
+ // TODO - these can be removed when JMeter moves up to Java 1.5+
+ private static final Method setReadTimeout;
+
+ private static final Method setConnectTimeout;
+
static {
log.info("Maximum connection retries = "+MAX_CONN_RETRIES); //
$NON-NLS-1$
+ // Temporary copies, so can set the final ones
+ Method _setConnectTimeout = null, _setReadTimeout = null;
+ Class clazz = URLConnection.class;
+ try {
+ _setConnectTimeout = clazz.getMethod("setConnectTimeout",
//$NON-NLS-1$
+ new Class[] { Integer.TYPE });
+ _setReadTimeout = clazz.getMethod("setReadTimeout", //$NON-NLS-1$
+ new Class[] { Integer.TYPE });
+ } catch (SecurityException e) {
+ log.warn("Error trying to find timeout methods: "+e);
+ } catch (NoSuchMethodException e) {
+ } finally {
+ if (_setReadTimeout != null) {
+ log.info("Connection and read timeouts are available on this
JVM");
+ } else {
+ log.info("Connection and read timeouts are *not* available on
this JVM");
+ }
+ setReadTimeout = _setReadTimeout;
+ setConnectTimeout = _setConnectTimeout;
+ }
+ }
+
+ private static void setTimeout(Method method, URLConnection conn ,int
timeout){
+ if (method == null){
+ log.warn("Connect/Read Timeout is not supported on this JVM");
+ return;
+ }
+ try {
+ method.invoke(conn, new Integer[]{new Integer(timeout)});
+ } catch (IllegalArgumentException e1) {
+ log.warn("Failed to set timeout: "+e1);
+ } catch (IllegalAccessException e1) {
+ log.warn("Failed to set timeout: "+e1);
+ } catch (InvocationTargetException e1) {
+ log.warn("Failed to set timeout: "+e1);
+ }
}
private static final byte[] NULL_BA = new byte[0];// can share these
@@ -151,6 +194,16 @@
// Update follow redirects setting just for this connection
conn.setInstanceFollowRedirects(getAutoRedirects());
+ int cto = getConnectTimeout();
+ if (cto > 0){
+ setTimeout(setConnectTimeout, conn, cto);
+ }
+
+ int rto = getResponseTimeout();
+ if (rto > 0){
+ setTimeout(setReadTimeout, conn, rto);
+ }
+
if (PROTOCOL_HTTPS.equalsIgnoreCase(u.getProtocol())) {
try {
if (null != sslmgr){
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java
Wed Apr 29 00:18:16 2009
@@ -225,7 +225,7 @@
} catch (ProtocolException e) {
log.warn("Problem setting protocol version
"+e.getLocalizedMessage());
}
- String to= JMeterUtils.getProperty("httpclient.timeout");
+ String to= JMeterUtils.getProperty("httpclient.timeout"); //
$NON-NLS-1$
if (to != null){
params.setIntParameter(HttpMethodParams.SO_TIMEOUT,
Integer.parseInt(to));
}
@@ -571,6 +571,17 @@
}
}
+ int rto = getResponseTimeout();
+ if (rto > 0){
+ httpMethod.getParams().setSoTimeout(1);
+ }
+
+ int cto = getConnectTimeout();
+ if (cto > 0){
+
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(cto);
+ }
+
+
// Allow HttpClient to handle the redirects:
httpMethod.setFollowRedirects(getAutoRedirects());
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
Wed Apr 29 00:18:16 2009
@@ -94,6 +94,10 @@
public static final String PORT = "HTTPSampler.port"; // $NON-NLS-1$
+ public static final String CONNECT_TIMEOUT =
"HTTPSampler.connect_timeout"; // $NON-NLS-1$
+
+ public static final String RESPONSE_TIMEOUT =
"HTTPSampler.response_timeout"; // $NON-NLS-1$
+
public static final String METHOD = "HTTPSampler.method"; // $NON-NLS-1$
public static final String CONTENT_ENCODING =
"HTTPSampler.contentEncoding"; // $NON-NLS-1$
@@ -693,6 +697,22 @@
return getPropertyAsString(DOMAIN);
}
+ public void setConnectTimeout(String value) {
+ setProperty(CONNECT_TIMEOUT, value);
+ }
+
+ public int getConnectTimeout() {
+ return getPropertyAsInt(CONNECT_TIMEOUT, 0);
+ }
+
+ public void setResponseTimeout(String value) {
+ setProperty(RESPONSE_TIMEOUT, value);
+ }
+
+ public int getResponseTimeout() {
+ return getPropertyAsInt(RESPONSE_TIMEOUT, 0);
+ }
+
public void setArguments(Arguments value) {
setProperty(new TestElementProperty(ARGUMENTS, value));
}
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Wed Apr 29 00:18:16 2009
@@ -249,6 +249,7 @@
In GUI mode it can be cancelled and Stop run instead.
Stop now reports if some threads will not exit, and exits if running in
non-GUI mode</li>
<li>Add UDP server to wait for shutdown message if running in non-GUI mode;
add UDP client to send the message.</li>
+<li>HTTP Samplers now support connection and request timeouts (requires Java
1.5 for Java Http sampler)</li>
</ul>
<h3>Non-functional changes</h3>
Modified:
jakarta/jmeter/trunk/xdocs/images/screenshots/http-config/http-request-defaults.png
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/http-config/http-request-defaults.png?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
Binary files - no diff available.
Modified: jakarta/jmeter/trunk/xdocs/images/screenshots/webtest/http-request.png
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/webtest/http-request.png?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
Binary files - no diff available.
Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=769598&r1=769597&r2=769598&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Wed Apr 29
00:18:16 2009
@@ -81,7 +81,7 @@
</component>
-<component name="HTTP Request" index="§-num;.1.2" width="682"
height="619" screenshot="webtest/http-request.png">
+<component name="HTTP Request" index="§-num;.1.2" width="730"
height="618" screenshot="webtest/http-request.png">
<description>
<p>This sampler lets you send an HTTP/HTTPS request to a web server.
It
@@ -172,8 +172,10 @@
</description>
<properties>
<property name="Name" required="No">Descriptive name for this
controller that is shown in the tree.</property>
- <property name="Server" required="No">Domain name or IP address of the
web server. e.g. www.example.com. [Do not include the http://
prefix.]</property>
+ <property name="Server" required="Yes, unless provided by HTTP Request
Defaults">Domain name or IP address of the web server. e.g. www.example.com.
[Do not include the http:// prefix.]</property>
<property name="Port" required="No">Port the web server is listening
to. Default: 80</property>
+ <property name="Connect Timeout" required="No">Connection Timeout.
Number of milliseconds to wait for a connection to open. Requires Java 1.5 or
later when using the default Java HTTP implementation.</property>
+ <property name="Response Timeout" required="No">Response Timeout.
Number of milliseconds to wait for a response. Requires Java 1.5 or later when
using the default Java HTTP implementation.</property>
<property name="Protocol" required="No">HTTP, HTTPS or FILE. Default:
HTTP</property>
<property name="Method" required="Yes">GET, POST, HEAD, TRACE,
OPTIONS, PUT, DELETE</property>
<property name="Content Encoding" required="No">Content encoding to be
used (for POST and FILE)</property>
@@ -2696,7 +2698,7 @@
</component>
<component name="HTTP Request Defaults" index="§-num;.4.5"
- width="581" height="385"
screenshot="http-config/http-request-defaults.png">
+ width="727" height="396"
screenshot="http-config/http-request-defaults.png">
<description><p>This element lets you set default values that your HTTP
Request controllers use. For example, if you are
creating a Test Plan with 25 HTTP Request controllers and all of the requests
are being sent to the same server,
you could add a single HTTP Request Defaults element with the "Server Name or
IP" field filled in. Then, when
@@ -2712,6 +2714,8 @@
<property name="Name" required="No">Descriptive name for this
controller that is shown in the tree.</property>
<property name="Server" required="No">Domain name or IP address of the
web server. e.g. www.example.com. [Do not include the http:// prefix.</property>
<property name="Port" required="No">Port the web server is listening
to.</property>
+ <property name="Connect Timeout" required="No">Connection Timeout.
Number of milliseconds to wait for a connection to open. Requires Java 1.5 or
later when using the default Java HTTP implementation.</property>
+ <property name="Response Timeout" required="No">Response Timeout.
Number of milliseconds to wait for a response. Requires Java 1.5 or later when
using the default Java HTTP implementation.</property>
<property name="Protocol" required="Yes">HTTP or HTTPS.</property>
<property name="Method" required="No">HTTP GET or HTTP POST.</property>
<property name="Path" required="No">The path to resource (for example,
/servlets/myServlet). If the
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]