| <?xml version="1.0"?> |
| <!-- |
| 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. |
| --> |
| <!DOCTYPE document |
| [ |
| <!ENTITY sect-num '21'> |
| ]> |
| <document prev="regular_expressions.html" next="glossary.html" id="$Id: $"> |
| |
| <properties> |
| <title>User's Manual: Hints and Tips</title> |
| </properties> |
| |
| <body> |
| |
| <section name="§-num;. Hints and Tips" anchor="hints"> |
| <p> |
| This section is a collection of various hints and tips that have been suggested by various questions on the JMeter User list. |
| If you don't find what you are looking for here, please check the <a href="http://wiki.apache.org/jmeter">JMeter Wiki</a>. |
| Also, try search the JMeter User list; someone may well have already provided a solution. |
| </p> |
| <subsection name="§-num;.1 Passing variables between threads" anchor="variable_and_threads"> |
| <p> |
| JMeter variables have thread scope. This is deliberate, so that threads can act indepently. |
| However sometimes there is a need to pass variables between different threads, in the same or different Thread Groups. |
| </p> |
| <p> |
| One way to do this is to use a property instead. |
| Properties are shared between all JMeter threads, so if one thread <a href="functions.html#__setProperty">sets a property</a>, |
| another thread can <a href="functions.html#__P">read</a> the updated value. |
| </p> |
| <p> |
| If there is a lot of information that needs to be passed between threads, then consider using a file. |
| For example you could use the <a href="component_reference.html#Save_Responses_to_a_file">Save Responses to a file</a> |
| listener or perhaps a BeanShell PostProcessor in one thread, and read the file using the HTTP Sampler "file:" protocol, |
| and extract the information using a PostProcessor or BeanShell element. |
| </p> |
| <p> |
| If you can derive the data before starting the test, then it may well be better to store it in a file, |
| read it using CSV Dataset. |
| </p> |
| </subsection> |
| |
| <subsection name="§-num;.2 Enabling Debug logging" anchor="debug_logging"> |
| <p> |
| Most test elements include debug logging. If running a test plan from the GUI, |
| select the test element and use the Help Menu to enable or disable logging. |
| The Help Menu also has an option to display the GUI and test element class names. |
| You can use these to determine the correct property setting to change the logging level. |
| </p> |
| |
| <p> |
| It is sometimes very useful to see Log messages to debug dynamic scripting languages like BeanShell or |
| groovy used in JMeter. |
| Since 2.6, you can view log messages directly in JMeter GUI, to do so, use menu Options > Log Viewer, |
| a log console will appear at the bottom of the interface. |
| Note that log messages are cleared each time you disable this option. |
| By default this log console is disabled, you can enable it by changing in jmeter.properties: |
| <ul> |
| <li>jmeter.loggerpanel.display=true</li> |
| </ul> |
| </p> |
| </subsection> |
| |
| <subsection name="§-num;.3 Searching" anchor="searching"> |
| <p> |
| It is sometimes hard to find in a Test Plan tree and elements using a variable or containing a certain URL or parameter. |
| A new feature is now available since 2.6, you can access it in Menu Search. |
| It provides search with following options: |
| <ul> |
| <li>Case Sensitive : Makes search case sensitive</li> |
| <li>Regexp : Is text to search a regexp, if so Regexp will be searched in Tree of components, example "\btest\b" will match any component that contains test in searchable elements of the component</li> |
| </ul> |
| </p> |
| |
| <figure width="663" height="300" image="searching/raw-search.png">Figure 1 - Search raw text in TreeView</figure> |
| <figure width="667" height="319" image="searching/raw-search-result.png">Figure 2 - Result in TreeView</figure> |
| <figure width="642" height="307" image="searching/regexp-search.png">Figure 3 - Search Regexp in TreeView (in this example we search whole word)</figure> |
| <figure width="596" height="328" image="searching/regexp-search-result.png">Figure 4 - Result in TreeView</figure> |
| |
| </subsection> |
| </section> |
| |
| </body> |
| </document> |