Author: agomes
Date: Sun Dec 3 21:56:48 2017
New Revision: 1817055
URL: http://svn.apache.org/viewvc?rev=1817055&view=rev
Log:
Bug 61852 - Add a Boundary Extractor Tester in View Results Tree
Added:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
(with props)
Modified:
jmeter/trunk/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java
jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
jmeter/trunk/xdocs/changes.xml
jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified:
jmeter/trunk/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java?rev=1817055&r1=1817054&r2=1817055&view=diff
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java
(original)
+++
jmeter/trunk/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java
Sun Dec 3 21:56:48 2017
@@ -239,7 +239,7 @@ public class BoundaryExtractor extends A
* @param found
* @return int found updated
*/
- private int extract(String leftBoundary, String rightBoundary, int
matchNumber, String inputString,
+ public int extract(String leftBoundary, String rightBoundary, int
matchNumber, String inputString,
List<String> result, int found) {
int startIndex = -1;
int endIndex;
Added:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java?rev=1817055&view=auto
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
(added)
+++
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
Sun Dec 3 21:56:48 2017
@@ -0,0 +1,240 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jmeter.visualizers;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+
+import org.apache.jmeter.extractor.BoundaryExtractor;
+import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.gui.GuiUtils;
+import org.apache.jorphan.gui.JLabeledTextField;
+
+
+/**
+ * Implement ResultsRender for Boundary Extractor tester
+ */
+public class RenderAsBoundaryExtractor implements ResultRenderer,
ActionListener {
+
+ private static final String BOUNDARY_EXTRACTOR_TESTER_COMMAND =
"boundary_extractor_tester"; // $NON-NLS-1$
+
+ private JPanel boundaryExtractorPane;
+
+ private JTextArea boundaryExtractorDataField;
+
+ private JLabeledTextField boundaryExtractorFieldLeft;
+
+ private JLabeledTextField boundaryExtractorFieldRight;
+
+ private JTextArea boundaryExtractorResultField;
+
+ private JTabbedPane rightSide;
+
+ private SampleResult sampleResult = null;
+
+ /**
+ * Display the response as text or as rendered HTML. Change the text on the
+ * button appropriate to the current display.
+ *
+ * @param e the ActionEvent being processed
+ */
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ String command = e.getActionCommand();
+ if ((sampleResult != null) &&
(BOUNDARY_EXTRACTOR_TESTER_COMMAND.equals(command))) {
+ String response =
ViewResultsFullVisualizer.getResponseAsString(sampleResult);
+ executeAndShowBoundaryExtractorTester(response);
+ }
+ }
+
+ /**
+ * Launch boundaryExtractor engine to parse a input text
+ * @param textToParse
+ */
+ private void executeAndShowBoundaryExtractorTester(String textToParse) {
+ if (textToParse != null && textToParse.length() > 0
+ && this.boundaryExtractorFieldLeft.getText().length() > 0
+ && this.boundaryExtractorFieldRight.getText().length() > 0) {
+ this.boundaryExtractorResultField.setText(process(textToParse));
+ this.boundaryExtractorResultField.setCaretPosition(0); // go to
first line
+ }
+ }
+
+
+ private String process(String textToParse) {
+
+ List<String> result = new ArrayList<>();
+ BoundaryExtractor extractor = new BoundaryExtractor();
+
+ final int nbFound =
extractor.extract(boundaryExtractorFieldLeft.getText(),boundaryExtractorFieldRight.getText(),
-1, textToParse, result, 0);
+
+ // Construct a multi-line string with all matches
+ StringBuilder sb = new StringBuilder();
+ sb.append("Match count: ").append(nbFound).append("\n");
+ for (int j = 0; j < nbFound; j++) {
+ String mr = result.get(j);
+
sb.append("Match[").append(j+1).append("]=").append(mr).append("\n");
+ }
+ return sb.toString();
+
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void clearData() {
+ this.boundaryExtractorDataField.setText(""); // $NON-NLS-1$
+ this.boundaryExtractorFieldLeft.setText(""); // $NON-NLS-1$
+ this.boundaryExtractorFieldRight.setText(""); // $NON-NLS-1$
+ this.boundaryExtractorResultField.setText(""); // $NON-NLS-1$
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void init() {
+ // Create the panels for the boundaryExtractor tab
+ boundaryExtractorPane = createBoundaryExtractorPanel();
+ }
+
+ /**
+ * @return boundaryExtractor Tester panel
+ */
+ private JPanel createBoundaryExtractorPanel() {
+ boundaryExtractorDataField = new JTextArea();
+ boundaryExtractorDataField.setEditable(false);
+ boundaryExtractorDataField.setLineWrap(true);
+ boundaryExtractorDataField.setWrapStyleWord(true);
+
+ JScrollPane boundaryExtractorDataPane =
GuiUtils.makeScrollPane(boundaryExtractorDataField);
+ boundaryExtractorDataPane.setPreferredSize(new Dimension(0, 200));
+
+ JPanel pane = new JPanel(new BorderLayout(0, 5));
+
+ JSplitPane mainSplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
+ boundaryExtractorDataPane,
createBoundaryExtractorTasksPanel());
+ mainSplit.setDividerLocation(0.6d);
+ mainSplit.setOneTouchExpandable(true);
+ pane.add(mainSplit, BorderLayout.CENTER);
+ return pane;
+ }
+
+ /**
+ * Create the boundaryExtractor task pane
+ *
+ * @return boundaryExtractor task pane
+ */
+ private JPanel createBoundaryExtractorTasksPanel() {
+ JPanel boundaryExtractorActionPanel = new JPanel();
+ boundaryExtractorActionPanel.setLayout(new
BoxLayout(boundaryExtractorActionPanel, BoxLayout.X_AXIS));
+ Border margin = new EmptyBorder(5, 5, 0, 5);
+ boundaryExtractorActionPanel.setBorder(margin);
+ boundaryExtractorFieldLeft = new
JLabeledTextField(JMeterUtils.getResString("boundaryextractor_leftboundary_field"));
// $NON-NLS-1$
+ boundaryExtractorActionPanel.add(boundaryExtractorFieldLeft,
BorderLayout.WEST);
+ boundaryExtractorFieldRight = new
JLabeledTextField(JMeterUtils.getResString("boundaryextractor_rightboundary_field"));
// $NON-NLS-1$
+ boundaryExtractorActionPanel.add(boundaryExtractorFieldRight,
BorderLayout.WEST);
+
+ JButton boundaryExtractorTester = new
JButton(JMeterUtils.getResString("boundaryextractor_tester_button_test")); //
$NON-NLS-1$
+
boundaryExtractorTester.setActionCommand(BOUNDARY_EXTRACTOR_TESTER_COMMAND);
+ boundaryExtractorTester.addActionListener(this);
+ boundaryExtractorActionPanel.add(boundaryExtractorTester,
BorderLayout.EAST);
+
+ boundaryExtractorResultField = new JTextArea();
+ boundaryExtractorResultField.setEditable(false);
+ boundaryExtractorResultField.setLineWrap(true);
+ boundaryExtractorResultField.setWrapStyleWord(true);
+
+ JPanel boundaryExtractorTasksPanel = new JPanel(new BorderLayout(0,
5));
+ boundaryExtractorTasksPanel.add(boundaryExtractorActionPanel,
BorderLayout.NORTH);
+
boundaryExtractorTasksPanel.add(GuiUtils.makeScrollPane(boundaryExtractorResultField),
BorderLayout.CENTER);
+
+ return boundaryExtractorTasksPanel;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setupTabPane() {
+ // Add boundaryExtractor tester pane
+ if
(rightSide.indexOfTab(JMeterUtils.getResString("boundaryextractor_tester_title"))
< 0) { // $NON-NLS-1$
+
rightSide.addTab(JMeterUtils.getResString("boundaryextractor_tester_title"),
boundaryExtractorPane); // $NON-NLS-1$
+ }
+ clearData();
+ }
+
+ @Override
+ public void setLastSelectedTab(int index) {
+ // nothing to do
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized void setRightSide(JTabbedPane side) {
+ rightSide = side;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public synchronized void setSamplerResult(Object userObject) {
+ if (userObject instanceof SampleResult) {
+ sampleResult = (SampleResult) userObject;
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void renderResult(SampleResult sampleResult) {
+ clearData();
+ String response =
ViewResultsFullVisualizer.getResponseAsString(sampleResult);
+ boundaryExtractorDataField.setText(response);
+ boundaryExtractorDataField.setCaretPosition(0);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ return JMeterUtils.getResString("boundaryextractor_tester_title"); //
$NON-NLS-1$
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void renderImage(SampleResult sampleResult) {
+ clearData();
+
boundaryExtractorDataField.setText(JMeterUtils.getResString("boundaryextractor_render_no_text"));
// $NON-NLS-1$
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void setBackgroundColor(Color backGround) {
+ }
+
+}
Propchange:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
------------------------------------------------------------------------------
svn:eol-style = native
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=1817055&r1=1817054&r2=1817055&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
(original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Sun
Dec 3 21:56:48 2017
@@ -148,8 +148,11 @@ backend_listener_queue_size=Async Queue
bind=Thread Bind
bouncy_castle_unavailable_message=The jars for bouncy castle are unavailable,
please add them to your classpath.
boundaryextractor_empty_default_value=Use empty default value
-boundaryextractor_leftboundary_field=Left Boundary:
-boundaryextractor_rightboundary_field=Right Boundary:
+boundaryextractor_leftboundary_field=Left Boundary:
+boundaryextractor_render_no_text=Data response result isn't text.
+boundaryextractor_rightboundary_field=Right Boundary:
+boundaryextractor_tester_button_test=Test
+boundaryextractor_tester_title=Boundary Extractor Tester
boundaryextractor_title=Boundary Extractor
browse=Browse...
bsf_sampler_title=BSF Sampler
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=1817055&r1=1817054&r2=1817055&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
Sun Dec 3 21:56:48 2017
@@ -144,7 +144,10 @@ bind=Connexion de l'unit\u00E9
bouncy_castle_unavailable_message=Les jars de bouncycastle sont indisponibles,
ajoutez les au classpath.
boundaryextractor_empty_default_value=Utiliser la cha\u00EEne vide comme
valeur par d\u00E9faut
boundaryextractor_leftboundary_field=Borne gauche
+boundaryextractor_render_no_text=Les donn\u00E9es de r\u00E9ponse ne sont pas
du texte.
boundaryextractor_rightboundary_field=Borne droite
+boundaryextractor_tester_button_test=Tester
+boundaryextractor_tester_title=Testeur de extracteur par bornes
boundaryextractor_title=Extracteur par bornes
browse=Parcourir...
bsf_sampler_title=Echantillon BSF
Modified: jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1817055&r1=1817054&r2=1817055&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sun Dec 3 21:56:48 2017
@@ -95,42 +95,43 @@ Summary
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><pr>316</pr>Warn about empty truststore loading. Contributed by
Vincent Herilier (https://github.com/vherilier)</li>
- <li><bug>61639</bug>HTTP(S) Test Script Recorder : In request filtering
tab, uncheck by default "Notify Child Listeners of filtered samplers"</li>
- <li><bug>61672</bug>HTTP(S) Test Script Recorder : Have the ability to
choose the sampler name while keeping the ability to just add a prefix</li>
- <li><bug>53957</bug>HTTP Request : In Parameters tab, allow pasting of
content coming from Firefox and Chrome (unparsed)</li>
+ <li><bug>61639</bug>HTTP(S) Test Script Recorder: In request filtering
tab, uncheck by default "Notify Child Listeners of filtered samplers"</li>
+ <li><bug>61672</bug>HTTP(S) Test Script Recorder: Have the ability to
choose the sampler name while keeping the ability to just add a prefix</li>
+ <li><bug>53957</bug>HTTP Request: In Parameters tab, allow pasting of
content coming from Firefox and Chrome (unparsed)</li>
<li><bug>61587</bug>Drop properties
<code>sampleresult.getbytes.headers_size</code> and
<code>sampleresult.getbytes.body_real_size</code></li>
- <li><bug>61843</bug>HTTP(S) Test Script Recorder : Add SAN to JMeter
generated CA Certificate. Contributed by Matthew Buckett</li>
+ <li><bug>61843</bug>HTTP(S) Test Script Recorder: Add SAN to JMeter
generated CA Certificate. Contributed by Matthew Buckett</li>
</ul>
<h3>Other samplers</h3>
<ul>
- <li><bug>61739</bug>Java Request / JavaSamplerClient : Improve
<code>org.apache.jmeter.protocol.java.sampler.JavaSamplerContext</code></li>
+ <li><bug>61739</bug>Java Request / JavaSamplerClient: Improve
<code>org.apache.jmeter.protocol.java.sampler.JavaSamplerContext</code></li>
<li><bug>61762</bug>Start Next Thread Loop should be used everywhere</li>
<li><bug>61544</bug>JMS Point-to-Point Sampler: Enhance communication
styles with read, browse, clear. Based on a contribution by Benny van
Wijngaarden (benny at smaragd-it.nl)</li>
- <li><bug>61829</bug>JMS Point-to-Point : If Receive Queue is empty and a
timeout is set, it is not taken into account. Contributed by Ubik Load Pack
(support at ubikloadpack.com)</li>
+ <li><bug>61829</bug>JMS Point-to-Point: If Receive Queue is empty and a
timeout is set, it is not taken into account. Contributed by Ubik Load Pack
(support at ubikloadpack.com)</li>
</ul>
<h3>Controllers</h3>
<ul>
- <li><bug>61675</bug>If Controller : Use expression by default and add a
warning when the other mode is used. Contributed by Ubik Load Pack (support at
ubikloadpack.com)</li>
- <li><bug>61770</bug>Module Controller : Inform user in UI that he needs to
have at least one Controller in his plan. Contributed by Ubik Load Pack
(support at ubikloadpack.com)</li>
+ <li><bug>61675</bug>If Controller: Use expression by default and add a
warning when the other mode is used. Contributed by Ubik Load Pack (support at
ubikloadpack.com)</li>
+ <li><bug>61770</bug>Module Controller: Inform user in UI that he needs to
have at least one Controller in his plan. Contributed by Ubik Load Pack
(support at ubikloadpack.com)</li>
</ul>
<h3>Listeners</h3>
<ul>
- <li><bug>57760</bug>View Results Tree : Cookie Header is wrongly shown as
empty (no cookies) when viewing a recorder Sample Result. Contributed by Ubik
Load Pack (support at ubikloadpack.com)</li>
+ <li><bug>57760</bug>View Results Tree: Cookie Header is wrongly shown as
empty (no cookies) when viewing a recorder Sample Result. Contributed by Ubik
Load Pack (support at ubikloadpack.com)</li>
<li><bug>61769</bug>View Results Tree: Use syntax highlighter in XPath
Tester, JSON Path Tester and CSS/JQuery Tester. Contributed by Ubik Load Pack
(support at ubikloadpack.com)</li>
<li><bug>61776</bug>View Results Tree: Expansion of <code>Add
expand/collapse all</code> menu in render XML view. Contributed by Maxime
Chassagneux and Graham Russell</li>
- <li><bug>61794</bug>Influxdb backend : Add as many custom tags as wanted
by just create new lines and prefix theirs name by "<code>TAG_</code>" on the
GUI backend listener</li>
+ <li><bug>61852</bug>View Results Tree: Add a Boundary Extractor Tester</li>
+ <li><bug>61794</bug>Influxdb backend: Add as many custom tags as wanted by
just create new lines and prefix theirs name by "<code>TAG_</code>" on the GUI
backend listener</li>
</ul>
<h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
<ul>
<li><bug>60213</bug>Boundary based extractor</li>
<li><bug>61644</bug>HTTP Cache Manager: "Use Cache-Control/Expires header
when processing GET requests" should be checked by default</li>
- <li><bug>61645</bug>Response Assertion : Add ability to assert on Request
Data</li>
+ <li><bug>61645</bug>Response Assertion: Add ability to assert on Request
Data</li>
<li><bug>61534</bug>Convert AssertionError to a failed assertion in the
JSR223Assertion allowing users to use assert in their code</li>
- <li><bug>61756</bug>Extractors : Improve label name "Reference name" to
make it clear what it makes</li>
+ <li><bug>61756</bug>Extractors: Improve label name "Reference name" to
make it clear what it makes</li>
<li><bug>61758</bug><code>Apply to:</code> field in Extractors, Assertions
: When entering a value in <code>JMeter Variable Name</code>, the radio box
<code>JMeter Variable Name</code> should be selected by default. Contributed by
Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>61845</bug>New Component JSON Assertion based on AtlanBH JSON
Path Assertion donated to JMeter-Plugins and migrated into JMeter core by Artem
Fedorov (artem at blazemeter.com)</li>
<li><bug>61846</bug>Scoped Assertion should follow same order of
evaluation as Post Processors</li>
@@ -139,7 +140,7 @@ Summary
<h3>Functions</h3>
<ul>
<li><bug>61561</bug>Function helper dialog should display exception in
result</li>
- <li><bug>61738</bug>Function Helper Dialog : Add Copy in Generate and
clarify labels. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
+ <li><bug>61738</bug>Function Helper Dialog: Add Copy in Generate and
clarify labels. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>61593</bug>Remove Detail, Add, Add from Clipboard, Delete buttons
in Function Helper GUI</li>
<li><bug>61724</bug>Add <code>__digest</code> function to provide
computing of Hashes (SHA-XXX, MDX). Based on a contribution by orimarko at
gmail.com</li>
<li><bug>61735</bug>Add <code>__dateTimeConvert</code> function to provide
date formats conversions. Based on a contribution by orimarko at gmail.com</li>
@@ -150,7 +151,7 @@ Summary
<h3>I18N</h3>
<ul>
<li><bug>61606</bug>Translate button <code>Browse…</code> in some
elements (which use FileEditor class)</li>
- <li><bug>61747</bug>HTTP(S) Test Script Recorder : add the missing doc to
"Create transaction after request (ms)"</li>
+ <li><bug>61747</bug>HTTP(S) Test Script Recorder: add the missing doc to
"Create transaction after request (ms)"</li>
</ul>
<h3>Report / Dashboard</h3>
@@ -160,22 +161,22 @@ Summary
<h3>General</h3>
<ul>
<li><bug>61591</bug>Drop Workbench from test tree. Implemented by Artem
Fedorov (artem at blazemeter.com) and contributed by BlazeMeter Ltd.</li>
- <li><bug>61549</bug>Thread Group : Remove start and end date</li>
+ <li><bug>61549</bug>Thread Group: Remove start and end date</li>
<li><bug>61529</bug>Migration to Java 9. Partly contributed by Ubik Load
Pack (support at ubikloadpack.com)</li>
- <li><bug>61709</bug>SampleResult : Add a method <code>setIgnore()</code>
to make JMeter ignore the SampleResult and not send it to listeners</li>
+ <li><bug>61709</bug>SampleResult: Add a method <code>setIgnore()</code> to
make JMeter ignore the SampleResult and not send it to listeners</li>
<li><bug>61607</bug>Add browse button in all BeanShell elements to select
BeanShell script</li>
<li><bug>61627</bug>Don't clear LogView anymore when clicking on
Warning/Errors Indicator</li>
<li><bug>61629</bug>Add Think Times to Children menu should not consider
disabled elements</li>
- <li><bug>61655</bug>SampleSender : Drop HoldSampleSender
implementation</li>
+ <li><bug>61655</bug>SampleSender: Drop HoldSampleSender implementation</li>
<li><bug>61656</bug><code>tearDown Thread Group</code> should run by
default at stop or shutdown of test</li>
<li><bug>61659</bug><code>JMeterVariables#get()</code> should apply
<code>toString()</code> on non string objects</li>
<li><bug>61555</bug>Metaspace should be restricted as default</li>
<li><bug>61693</bug>JMeter aware of Docker
(<code>-XX:+UnlockExperimentalVMOptions</code>
<code>-XX:+UseCGroupMemoryLimitForHeap</code>)</li>
<li><bug>61694</bug>Add <code>-server</code> option in
<code>jmeter.bat</code></li>
<li><bug>61697</bug>Introduce Darcula Look And Feel to make JMeter UI more
attractive</li>
- <li><bug>61704</bug>Toolbar : Improve a bit the right part</li>
+ <li><bug>61704</bug>Toolbar: Improve a bit the right part</li>
<li><bug>61731</bug>Enhance Test plan Backup with option to save before
run. Based on a contribution by orimarko at gmail.com</li>
- <li><bug>61640</bug>JSR223 Test Elements : Enable by default caching.
Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
+ <li><bug>61640</bug>JSR223 Test Elements: Enable by default caching.
Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>61785</bug>Add
<menuchoice><guimenuitem>Help</guimenuitem><guimenuitem>Useful
links</guimenuitem></menuchoice> to create issues and download nightly
build</li>
<li><bug>61808</bug>Fix main frame position. Implemented by Artem Fedorov
(artem at blazemeter.com) and contributed by BlazeMeter Ltd.</li>
<li><bug>61802</bug>Loop / ForEach Controller should expose a variable for
current iteration. Contributed by Ubik Load Pack (support at
ubikloadpack.com)</li>
@@ -225,12 +226,12 @@ Summary
<h3>Listeners</h3>
<ul>
- <li><bug>61742</bug>BackendListener : fix default value for
<code>backend_graphite.send_interval</code></li>
+ <li><bug>61742</bug>BackendListener: fix default value for
<code>backend_graphite.send_interval</code></li>
</ul>
<h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
<ul>
- <li><bug>61716</bug>Header Manager : When pasting Headers from Firefox or
Chrome spaces are introduced as first character of value</li>
+ <li><bug>61716</bug>Header Manager: When pasting Headers from Firefox or
Chrome spaces are introduced as first character of value</li>
</ul>
<h3>Functions</h3>
@@ -238,7 +239,7 @@ Summary
<li><bug>61588</bug>Better log message for <funclink
name="__RandomDate()"/> function</li>
<li><bug>61619</bug>In Function Helper Dialog, the 1<sup>st</sup> function
doesn't display default parameters</li>
<li><bug>61628</bug>If split string has empty separator default separator
is not used</li>
- <li><bug>61752</bug><code>__RandomDate</code> : Function does not allow
missing last parameter used for variable name</li>
+ <li><bug>61752</bug><code>__RandomDate</code>: Function does not allow
missing last parameter used for variable name</li>
</ul>
<h3>I18N</h3>
@@ -254,7 +255,7 @@ Summary
<ul>
<li><bug>61661</bug>Avoid startup/shutdown problems due to 3<sup>rd</sup>
party Thread Listener plugins throwing RuntimeException</li>
<li><bug>61625</bug>File Editor used in BeanInfo behaves strangely under
all LAFs with impact on CSVDataSet, JSR223, BSF, Beanshell Element</li>
- <li><bug>61844</bug>Maven pom.xml : Libraries used in testing should have
scope test</li>
+ <li><bug>61844</bug>Maven pom.xml: Libraries used in testing should have
scope test</li>
</ul>
<!-- =================== Thanks =================== -->
Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL:
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1817055&r1=1817054&r2=1817055&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Dec 3 21:56:48
2017
@@ -2920,6 +2920,11 @@ You can right-click on any node and expa
The "<code>Test</code>" button allows the user to apply the XPath query to the
upper panel and the results
will be displayed in the lower panel.<br/>
</td></tr>
+<tr><td><code>Boundary Extractor Tester </code></td>
+<td>The <i>Boundary Extractor Tester</i> only works for text responses. It
shows the plain text in the upper panel.
+The "<code>Test</code>" button allows the user to apply the Boundary Extractor
query to the upper panel and the results
+will be displayed in the lower panel.<br/>
+</td></tr>
</table>
<p><code>Scroll automatically?</code> option permit to have last node display
in tree selection</p>
<note>Starting with version 3.2 the number of entries in the View is
restricted to the value of the