jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From milam...@apache.org
Subject svn commit: r1513685 - in /jmeter/trunk: src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/control/gui/ src/protocol/http/org/apache/jmeter/protocol/http/sampler/ xdocs/usermanual/
Date Tue, 13 Aug 2013 23:06:39 GMT
Author: milamber
Date: Tue Aug 13 23:06:38 2013
New Revision: 1513685

URL: http://svn.apache.org/r1513685
Log:
Re-organizes the Source Address options.
Change the organization for "Optional tasks" in the HTTP Request (separating into 3 sub-blocks
: Embedded resources, Source Address, Optional tasks)
Bugzilla Id: 54874

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
    jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Tue Aug 13 23:06:38
2013
@@ -1210,11 +1210,16 @@ web_server_port=Port Number\:
 web_server_timeout_connect=Connect:
 web_server_timeout_response=Response:
 web_server_timeout_title=Timeouts (milliseconds)
-web_testing2_source_ip=Source IP address:
 web_testing2_title=HTTP Request HTTPClient
 web_testing_concurrent_download=Use concurrent pool. Size:
-web_testing_embedded_url_pattern=Embedded URLs must match\:
-web_testing_retrieve_images=Retrieve All Embedded Resources from HTML Files
+web_testing_embedded_url_pattern=URLs must match\:
+web_testing_retrieve_images=Retrieve All Embedded Resources
+web_testing_retrieve_title=Embedded Resources from HTML Files
+web_testing_source_ip=Source address
+web_testing_source_ip_hostname=IP/Hostname
+web_testing_source_ip_device=Device
+web_testing_source_ip_device_ipv4=Device IPv4
+web_testing_source_ip_device_ipv6=Device IPv6
 web_testing_title=HTTP Request
 webservice_configuration_wizard=WSDL helper
 webservice_get_xml_from_random_title=Use random messages SOAP

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties Tue Aug 13 23:06:38
2013
@@ -1009,10 +1009,10 @@ web_server_port=Puerto\:
 web_server_timeout_connect=Conexi\u00F3n\:
 web_server_timeout_response=Respuesta\:
 web_server_timeout_title=Timeout (milisegundos)
-web_testing2_source_ip=Direcci\u00F3n IP fuente\:
 web_testing2_title=Petici\u00F3n HTTP HttpClient
 web_testing_embedded_url_pattern=Las URLs embebidas deben coincidir a\:
 web_testing_retrieve_images=Recuperar Todos los Recursos Empotrados de Archivos HTML
+web_testing_source_ip=Direcci\u00F3n IP fuente\:
 web_testing_title=Petici\u00F3n HTTP
 webservice_proxy_host=Host Proxy
 webservice_proxy_note=Si est\u00E1 seleccionado "Utilizar Proxy HTTP", pero no se proporciona
host o puerto, el muestreador

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties Tue Aug 13 23:06:38
2013
@@ -1203,11 +1203,16 @@ web_server_port=Port \:
 web_server_timeout_connect=Connexion \:
 web_server_timeout_response=R\u00E9ponse \:
 web_server_timeout_title=D\u00E9lai expiration (ms)
-web_testing2_source_ip=Adresse IP source \:
 web_testing2_title=Requ\u00EAte HTTP HTTPClient
 web_testing_concurrent_download=Utiliser pool unit\u00E9. Nbre \:
 web_testing_embedded_url_pattern=Les URL \u00E0 inclure doivent correspondre \u00E0 \:
 web_testing_retrieve_images=R\u00E9cup\u00E9rer les ressources incluses
+web_testing_retrieve_title=Embedded Resources from HTML Files
+web_testing_source_ip=Adresse source
+web_testing_source_ip_hostname=IP/Nom d'h\u00F4te
+web_testing_source_ip_device=Interface
+web_testing_source_ip_device_ipv4=Interface IPv4
+web_testing_source_ip_device_ipv6=Interface IPv6
 web_testing_title=Requ\u00EAte HTTP
 webservice_configuration_wizard=Assistant de configuration WSDL
 webservice_get_xml_from_random_title=Utiliser al\u00E9atoirement des messages SOAP

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
(original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
Tue Aug 13 23:06:38 2013
@@ -20,11 +20,14 @@ package org.apache.jmeter.protocol.http.
 
 import java.awt.BorderLayout;
 import java.awt.Dimension;
+import java.awt.Font;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
 
 import javax.swing.BorderFactory;
 import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JTextField;
 
@@ -36,7 +39,6 @@ import org.apache.jmeter.protocol.http.s
 import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.util.JMeterUtils;
-import org.apache.jorphan.gui.JLabeledTextField;
 
 //For unit tests, @see TestHttpTestSampleGui
 
@@ -47,6 +49,10 @@ import org.apache.jorphan.gui.JLabeledTe
 public class HttpTestSampleGui extends AbstractSamplerGui 
     implements ItemListener {
     private static final long serialVersionUID = 240L;
+    
+    private static final Font FONT_VERY_SMALL = new Font("SansSerif", Font.PLAIN, 9);
+    
+    private static final Font FONT_SMALL = new Font("SansSerif", Font.PLAIN, 12);
 
     private MultipartUrlConfigGui urlConfigGui;
 
@@ -60,9 +66,11 @@ public class HttpTestSampleGui extends A
 
     private JCheckBox useMD5;
 
-    private JLabeledTextField embeddedRE; // regular expression used to match against embedded
resource URLs
+    private JTextField embeddedRE; // regular expression used to match against embedded resource
URLs
 
-    private JLabeledTextField sourceIpAddr; // does not apply to Java implementation
+    private JTextField sourceIpAddr; // does not apply to Java implementation
+    
+    private JComboBox sourceIpType = new JComboBox(HTTPSamplerBase.getSourceTypeMap().keySet().toArray());
 
     private final boolean isAJP;
     
@@ -93,6 +101,7 @@ public class HttpTestSampleGui extends A
         embeddedRE.setText(samplerBase.getEmbeddedUrlRE());
         if (!isAJP) {
             sourceIpAddr.setText(samplerBase.getIpSource());
+            sourceIpType.setSelectedIndex(samplerBase.getIpSourceType());
         }
     }
 
@@ -125,6 +134,7 @@ public class HttpTestSampleGui extends A
         samplerBase.setEmbeddedUrlRE(embeddedRE.getText());
         if (!isAJP) {
             samplerBase.setIpSource(sourceIpAddr.getText());
+            samplerBase.setIpSourceType(HTTPSamplerBase.getSourceTypeMap().get(sourceIpType.getSelectedItem()).intValue());
         }
         this.configureTestElement(sampler);
     }
@@ -147,19 +157,25 @@ public class HttpTestSampleGui extends A
         urlConfigGui = new MultipartUrlConfigGui(true, !isAJP);
         add(urlConfigGui, BorderLayout.CENTER);
 
-        // OPTIONAL TASKS
-        add(createOptionalTasksPanel(), BorderLayout.SOUTH);
+        // Bottom (embedded resources, source address and optional tasks)
+        JPanel bottomPane = new VerticalPanel();
+        bottomPane.add(createEmbeddedRsrcPanel());
+        JPanel optionAndSourcePane = new HorizontalPanel();
+        optionAndSourcePane.add(createSourceAddrPanel());
+        optionAndSourcePane.add(createOptionalTasksPanel());
+        bottomPane.add(optionAndSourcePane);
+        add(bottomPane, BorderLayout.SOUTH);
     }
 
-    protected JPanel createOptionalTasksPanel() {
-        // OPTIONAL TASKS
-        final JPanel optionalTasksPanel = new VerticalPanel();
-        optionalTasksPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils
-                .getResString("optional_tasks"))); // $NON-NLS-1$
+    protected JPanel createEmbeddedRsrcPanel() {
+        final JPanel embeddedRsrcPanel = new VerticalPanel();
+        embeddedRsrcPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils
+                .getResString("web_testing_retrieve_title"))); // $NON-NLS-1$
 
         final JPanel checkBoxPanel = new HorizontalPanel();
         // RETRIEVE IMAGES
         getImages = new JCheckBox(JMeterUtils.getResString("web_testing_retrieve_images"));
// $NON-NLS-1$
+        getImages.setFont(FONT_SMALL);
         // add a listener to activate or not concurrent dwn.
         getImages.addItemListener(new ItemListener() {
             @Override
@@ -170,6 +186,7 @@ public class HttpTestSampleGui extends A
         });
         // Download concurrent resources
         concurrentDwn = new JCheckBox(JMeterUtils.getResString("web_testing_concurrent_download"));
// $NON-NLS-1$
+        concurrentDwn.setFont(FONT_SMALL);
         concurrentDwn.addItemListener(new ItemListener() {
             @Override
             public void itemStateChanged(final ItemEvent e) {
@@ -178,30 +195,59 @@ public class HttpTestSampleGui extends A
             }
         });
         concurrentPool = new JTextField(2); // 2 column size
+        concurrentPool.setFont(FONT_SMALL);
         concurrentPool.setMaximumSize(new Dimension(30,20));
+
+        checkBoxPanel.add(getImages);
+        checkBoxPanel.add(concurrentDwn);
+        checkBoxPanel.add(concurrentPool);
+        embeddedRsrcPanel.add(checkBoxPanel);
+
+        // Embedded URL match regex
+        JLabel lblEmbRE = new JLabel(JMeterUtils.getResString("web_testing_embedded_url_pattern"));
// $NON-NLS-1$
+        lblEmbRE.setFont(FONT_SMALL);
+        checkBoxPanel.add(lblEmbRE);
+        embeddedRE = new JTextField(10);
+        checkBoxPanel.add(embeddedRE);
+        embeddedRsrcPanel.add(checkBoxPanel);
+
+        return embeddedRsrcPanel;
+    }
+
+    protected JPanel createOptionalTasksPanel() {
+        // OPTIONAL TASKS
+        final JPanel checkBoxPanel = new HorizontalPanel();
+        checkBoxPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils
+                .getResString("optional_tasks"))); // $NON-NLS-1$
+
         // Is monitor
         isMon = new JCheckBox(JMeterUtils.getResString("monitor_is_title")); // $NON-NLS-1$
+        isMon.setFont(FONT_SMALL);
         // Use MD5
         useMD5 = new JCheckBox(JMeterUtils.getResString("response_save_as_md5")); // $NON-NLS-1$
+        useMD5.setFont(FONT_SMALL);
 
-        checkBoxPanel.add(getImages);
-        checkBoxPanel.add(concurrentDwn);
-        checkBoxPanel.add(concurrentPool);
         checkBoxPanel.add(isMon);
         checkBoxPanel.add(useMD5);
-        optionalTasksPanel.add(checkBoxPanel);
 
-        // Embedded URL match regex
-        embeddedRE = new JLabeledTextField(JMeterUtils.getResString("web_testing_embedded_url_pattern"),30);
// $NON-NLS-1$
-        optionalTasksPanel.add(embeddedRE, BorderLayout.CENTER);
+        return checkBoxPanel;
+    }
+    
+    protected JPanel createSourceAddrPanel() {
+        final JPanel sourceAddrPanel = new HorizontalPanel();
+        sourceAddrPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils
+                .getResString("web_testing_source_ip"))); // $NON-NLS-1$
 
         if (!isAJP) {
             // Add a new field source ip address (for HC implementations only)
-            sourceIpAddr = new JLabeledTextField(JMeterUtils.getResString("web_testing2_source_ip"));
// $NON-NLS-1$
-            optionalTasksPanel.add(sourceIpAddr, BorderLayout.EAST);
-        }
+            sourceIpType.setSelectedItem(JMeterUtils.getResString("web_testing_source_ip_hostname"));
 //$NON-NLS-1$ default: IP/Hostname
+            sourceIpType.setFont(FONT_VERY_SMALL);
+            sourceAddrPanel.add(sourceIpType);
 
-        return optionalTasksPanel;
+            sourceIpAddr = new JTextField();
+            sourceAddrPanel.add(sourceIpAddr);
+        }
+        return sourceAddrPanel;
     }
 
     /**
@@ -228,6 +274,7 @@ public class HttpTestSampleGui extends A
         embeddedRE.setText(""); // $NON-NLS-1$
         if (!isAJP) {
             sourceIpAddr.setText(""); // $NON-NLS-1$
+            sourceIpType.setSelectedItem(JMeterUtils.getResString("web_testing_source_ip_hostname"));
 //$NON-NLS-1$
         }
     }
     

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
(original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
Tue Aug 13 23:06:38 2013
@@ -142,12 +142,11 @@ public abstract class HTTPAbstractImpl i
     }
 
     /**
-     * The prefix used to distiguish a device name from a host name.
-     * Host names cannot start with "/". 
+     * Invokes {@link HTTPSamplerBase#getIpSourceType()}
      */
-    private static final String DEVICE_PREFIX = "/";
-    private static final String IPV4 = "ipv4/";
-    private static final String IPV6 = "ipv6/";
+    protected int getIpSourceType() {
+        return testElement.getIpSourceType();
+    }
 
     /**
      * Gets the IP source address (IP spoofing) if one has been provided.
@@ -158,32 +157,34 @@ public abstract class HTTPAbstractImpl i
      */
     protected InetAddress getIpSourceAddress() throws UnknownHostException, SocketException
{
         final String ipSource = getIpSource();
-        if (ipSource.length() > 0) {
-            if (ipSource.startsWith(DEVICE_PREFIX)) {
-                String interfaceName = ipSource.substring(DEVICE_PREFIX.length());
-                final Class<? extends InetAddress> ipClass;
-                if (interfaceName.startsWith(IPV4)) {
-                    interfaceName = interfaceName.substring(IPV4.length());
-                    ipClass = Inet4Address.class;
-                } else if (interfaceName.startsWith(IPV6)) {
-                    interfaceName = interfaceName.substring(IPV6.length());             
      
-                    ipClass = Inet6Address.class;
-                } else {
-                    ipClass = InetAddress.class;                    
-                }
-                NetworkInterface net = NetworkInterface.getByName(interfaceName);
-                if (net != null) {
-                    for (InterfaceAddress ia : net.getInterfaceAddresses()) {
-                        final InetAddress inetAddr = ia.getAddress();
-                        if (ipClass.isInstance(inetAddr)) {
-                            return inetAddr;
-                        }
+        if (ipSource.trim().length() > 0) {
+            Class<? extends InetAddress> ipClass = null;
+            switch (getIpSourceType()) {
+            case HTTPSamplerBase.SOURCE_TYPE_DEVICE:
+                ipClass = InetAddress.class;
+                break;
+            case HTTPSamplerBase.SOURCE_TYPE_DEVICE_IPV4:
+                ipClass = Inet4Address.class;
+                break;
+            case HTTPSamplerBase.SOURCE_TYPE_DEVICE_IPV6:
+                ipClass = Inet6Address.class;
+                break;
+            default:
+                return InetAddress.getByName(ipSource);
+            }
+
+            NetworkInterface net = NetworkInterface.getByName(ipSource);
+            if (net != null) {
+                for (InterfaceAddress ia : net.getInterfaceAddresses()) {
+                    final InetAddress inetAddr = ia.getAddress();
+                    if (ipClass.isInstance(inetAddr)) {
+                        return inetAddr;
                     }
-                    throw new UnknownHostException("Interface " + interfaceName + " does
not have address of type " + ipClass.getSimpleName());
                 }
-                throw new UnknownHostException("Cannot find interface " + interfaceName);
+                throw new UnknownHostException("Interface " + ipSource
+                        + " does not have address of type " + ipClass.getSimpleName());
             }
-            return InetAddress.getByName(ipSource);
+            throw new UnknownHostException("Cannot find interface " + ipSource);
         }
         return null; // did not want to spoof the IP address
     }

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
(original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
Tue Aug 13 23:06:38 2013
@@ -161,6 +161,8 @@ public abstract class HTTPSamplerBase ex
      */
     public static final String IP_SOURCE = "HTTPSampler.ipSource"; // $NON-NLS-1$
 
+    public static final String IP_SOURCE_TYPE = "HTTPSampler.ipSourceType"; // $NON-NLS-1$
+
     public static final String USE_KEEPALIVE = "HTTPSampler.use_keepalive"; // $NON-NLS-1$
 
     public static final String DO_MULTIPART_POST = "HTTPSampler.DO_MULTIPART_POST"; // $NON-NLS-1$
@@ -186,8 +188,24 @@ public abstract class HTTPSamplerBase ex
             JMeterUtils.getPropDefault("httpsampler.ignore_failed_embedded_resources", false);
// $NON-NLS-1$ // default value: false
 
     public static final int CONCURRENT_POOL_SIZE = 4; // Default concurrent pool size for
download embedded resources
-    
-    
+
+    public static final int SOURCE_TYPE_IP_HOSTNAME = 0;
+
+    public static final int SOURCE_TYPE_DEVICE = 1;
+
+    public static final int SOURCE_TYPE_DEVICE_IPV4 = 2;
+
+    public static final int SOURCE_TYPE_DEVICE_IPV6 = 3;
+
+    public static final Map<String, Integer> getSourceTypeMap() {
+        Map<String, Integer> sourceTypeMap = new HashMap<String, Integer>(4);
+        sourceTypeMap.put(JMeterUtils.getResString("web_testing_source_ip_device"), SOURCE_TYPE_DEVICE);
//$NON-NLS-1$
+        sourceTypeMap.put(JMeterUtils.getResString("web_testing_source_ip_hostname"), SOURCE_TYPE_IP_HOSTNAME);
//$NON-NLS-1$
+        sourceTypeMap.put(JMeterUtils.getResString("web_testing_source_ip_device_ipv4"),
SOURCE_TYPE_DEVICE_IPV4); //$NON-NLS-1$
+        sourceTypeMap.put(JMeterUtils.getResString("web_testing_source_ip_device_ipv6"),
SOURCE_TYPE_DEVICE_IPV6); //$NON-NLS-1$
+        return sourceTypeMap;
+    }
+
     public static final String DEFAULT_METHOD = HTTPConstants.GET; // $NON-NLS-1$
     // Supported methods:
     private static final String [] METHODS = {
@@ -1713,7 +1731,23 @@ public abstract class HTTPSamplerBase ex
     public String getIpSource() {
         return getPropertyAsString(IP_SOURCE,"");
     }
-    
+ 
+    /**
+     * set IP/address source type to use
+     */
+    public void setIpSourceType(int value) {
+        setProperty(IP_SOURCE_TYPE, value, HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME);
+    }
+
+    /**
+     * get IP/address source type to use
+     * 
+     * @return address source type
+     */
+    public int getIpSourceType() {
+        return getPropertyAsInt(IP_SOURCE_TYPE, HTTPSamplerBase.SOURCE_TYPE_IP_HOSTNAME);
+    }
+
     /**
      * Return if used a concurrent thread pool to get embedded resources.
      *

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1513685&r1=1513684&r2=1513685&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Tue Aug 13 23:06:38 2013
@@ -319,15 +319,22 @@ and send HTTP/HTTPS requests for all ima
         </property>
         <property name="Use concurrent pool" required="No">Use a pool of concurrent
connections to get embedded resources.</property>
         <property name="Size" required="No">Pool size for concurrent connections used
to get embedded resources.</property>
-        <property name="Source IP address:" required="No">
-        [Only for HTTP Request HTTPClient] 
+        <property name="Source address type" required="No">
+        <i>[Only for HTTP Request with HTTPClient implementation]</i> <br></br>
+        To distinguish the source address value, select the type of these:
+        <ul>
+        <li>Select <i>IP/Hostname</i> to use a specific IP address or a
(local) hostname</li>
+        <li>Select <i>Device</i> to pick the first available address for
that interface which
+        this may be either IPv4 or IPv6</li>
+        <li>Select <i>Device IPv4</i>To select the IPv4 address of the
device name (like eth0, lo, em0, etc.)</li>
+        <li>Select <i>Device IPv6</i>To select the IPv6 address of the
device name (like eth0, lo, em0, etc.)</li>
+        </ul>
+        </property>
+        <property name="Source address field" required="No">
+        <i>[Only for HTTP Request with HTTPClient implementation]</i> <br></br>
         Override the default local IP address for this sample.
-        The JMeter host must have multiple IP addresses (i.e. IP aliases or network interfaces).
-        The value can be a host name, IP address, or a network interface device such as "eth0"
or "lo0".
-        In order to distinguish these from host names, the interface name must be entered
with the prefix "/",
-        for example "/eth0" or "/lo0". This will pick the first available address for that
interface which
-        this may be either IPV4 or IPV6. To select a specific IP protocol version, prefix
the interface name
-        with "/ipv4/" or "/ipv6/", for example "/ipv4/eth0" or "/ipv6/eth0"
+        The JMeter host must have multiple IP addresses (i.e. IP aliases, network interfaces,
devices).
+        The value can be a host name, IP address, or a network interface device such as "eth0"
or "lo" or "wlan0".<br></br>
         If the property <b>httpclient.localaddress</b> is defined, that is used
for all HttpClient requests.
         </property>
 </properties>



Mime
View raw message