You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2020/08/31 16:33:33 UTC
[jmeter] branch master updated: Freestyle format for names in
(Default)SamplerCreator
This is an automated email from the ASF dual-hosted git repository.
fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new af8c105 Freestyle format for names in (Default)SamplerCreator
af8c105 is described below
commit af8c10529cd086f013e2a2081aae2ca85888c739
Author: Felix Schumacher <fe...@internetallee.de>
AuthorDate: Mon Aug 31 18:31:42 2020 +0200
Freestyle format for names in (Default)SamplerCreator
Use a default value for the format string, that can be controlled by
a JMeter property.
Bugzilla Id: 64696
Relates to #595
---
bin/jmeter.properties | 3 +++
.../jmeter/protocol/http/proxy/ProxyControl.java | 23 +++++++++++++---------
.../protocol/http/proxy/gui/ProxyControlGui.java | 2 ++
xdocs/usermanual/properties_reference.xml | 5 +++++
4 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/bin/jmeter.properties b/bin/jmeter.properties
index c3e78c3..84f01e8 100644
--- a/bin/jmeter.properties
+++ b/bin/jmeter.properties
@@ -615,6 +615,9 @@ upgrade_properties=/bin/upgrade.properties
# Add numeric suffix to Sampler names (default true)
#proxy.number.requests=true
+# Default format string for new samplers when 'Use format string' is selected as 'naming scheme'
+#proxy.sampler_format=#{counter,number,000} - #{path} (#{name})
+
# List of URL patterns that will be added to URL Patterns to exclude
# Separate multiple lines with ;
#proxy.excludes.suggested=.*\\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
index f634b16..7bdc0be 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
@@ -138,6 +138,7 @@ public class ProxyControl extends GenericController implements NonTestElement {
private static final String USE_KEEPALIVE = "ProxyControlGui.use_keepalive"; // $NON-NLS-1$
private static final String SAMPLER_DOWNLOAD_IMAGES = "ProxyControlGui.sampler_download_images"; // $NON-NLS-1$
private static final String HTTP_SAMPLER_NAMING_MODE = "ProxyControlGui.proxy_http_sampler_naming_mode"; // $NON-NLS-1$
+ private static final String HTTP_SAMPLER_FORMAT = "ProxyControlGui.proxy_http_sampler_format"; // $NON-NLS-1$
private static final String PREFIX_HTTP_SAMPLER_NAME = "ProxyControlGui.proxy_prefix_http_sampler_name"; // $NON-NLS-1$
private static final String PROXY_PAUSE_HTTP_SAMPLER = "ProxyControlGui.proxy_pause_http_sampler"; // $NON-NLS-1$
private static final String DEFAULT_ENCODING_PROPERTY = "ProxyControlGui.default_encoding"; // $NON-NLS-1$
@@ -288,8 +289,6 @@ public class ProxyControl extends GenericController implements NonTestElement {
private transient javax.swing.Timer sampleWorkerTimer;
- private String httpSampleNameFormat;
-
public ProxyControl() {
setPort(DEFAULT_PORT);
setExcludeList(new HashSet<>());
@@ -490,6 +489,19 @@ public class ProxyControl extends GenericController implements NonTestElement {
return getPropertyAsString(CONTENT_TYPE_INCLUDE);
}
+ public void setHttpSampleNameFormat(String text) {
+ if (StringUtils.isBlank(text)) {
+ removeProperty(HTTP_SAMPLER_FORMAT);
+ } else {
+ setProperty(new StringProperty(HTTP_SAMPLER_FORMAT, text));
+ }
+ }
+
+ public String getHttpSampleNameFormat() {
+ return getPropertyAsString(HTTP_SAMPLER_FORMAT,
+ JMeterUtils.getPropDefault("proxy.sampler_format", "#{counter,number,000} - #{path} (#{name})"));
+ }
+
/**
* @return the {@link JMeterTreeModel} used when run in non-GUI mode, or {@code null} when run in GUI mode
*/
@@ -1670,11 +1682,4 @@ public class ProxyControl extends GenericController implements NonTestElement {
}
}
- public void setHttpSampleNameFormat(String text) {
- this.httpSampleNameFormat = text;
- }
-
- public String getHttpSampleNameFormat() {
- return httpSampleNameFormat;
- }
}
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
index 58946c3..dc0cd53 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
@@ -332,6 +332,7 @@ public class ProxyControlGui extends LogicControllerGui implements JMeterGUIComp
model.setRegexMatch(regexMatch.isSelected());
model.setContentTypeInclude(contentTypeInclude.getText());
model.setContentTypeExclude(contentTypeExclude.getText());
+ model.setHttpSampleNameFormat(httpSampleNameFormat.getText());
TreeNodeWrapper nw = (TreeNodeWrapper) targetNodes.getSelectedItem();
if (nw == null) {
model.setTarget(null);
@@ -396,6 +397,7 @@ public class ProxyControlGui extends LogicControllerGui implements JMeterGUIComp
regexMatch.setSelected(model.getRegexMatch());
contentTypeInclude.setText(model.getContentTypeInclude());
contentTypeExclude.setText(model.getContentTypeExclude());
+ httpSampleNameFormat.setText(model.getHttpSampleNameFormat());
reinitializeTargetCombo();// Set up list of potential targets and
// enable listener
diff --git a/xdocs/usermanual/properties_reference.xml b/xdocs/usermanual/properties_reference.xml
index 18cdbad..25974c2 100644
--- a/xdocs/usermanual/properties_reference.xml
+++ b/xdocs/usermanual/properties_reference.xml
@@ -777,6 +777,11 @@ JMETER-SERVER</source>
Add numeric suffix to Sampler names.<br/>
defaults to: <code>true</code>
</property>
+<property name="proxy.sampler_format">
+ Default format string for new samplers when <code>Use format string</code> is selected
+ as <code>naming scheme</code>.<br/>
+ Defaults to: <code>#{counter,number,000} - #{path} (#{name})</code>
+</property>
<property name="proxy.excludes.suggested">
List of URL patterns that will be added to URL Patterns to exclude.<br/>
Separate multiple lines with <code>;</code><br/>