The Apache JMeter™ application is open source software, a 100% pure Java application originally designed to load test functional behavior and measure performance.
1 Installing JMeter
-
Download application
JMeter application could be downloaded from JMeter official site. The following documentation has been implemented with JMeter v.3.1. From the given site you can download either binaries or source code of JMeter application. In order to use JMeter for testing Axional Studio application, we recommend downloading just the binaries.
-
Unzip content
The downloaded content is a compressed .tgz or .zip file. After uncompressing the file you will get a folder containing the binaries of JMeter application. Move the folder wherever you want in your filesystem
-
Execute application
As jMeter is a Java application, the best way to execute the application cross all operating systems is executing the
ApacheJMeter.jar
file inside the /bin directory inside the uncompressed folder. Executing that file the JMeter application will immediately start.

Info
For getting further information about JMeter requirements and installation visit the Get Started manual from the official site.2 Configuring JMeter
JMeter is a tool for setting and executing automatic tests, generally based on testing automation plan design. The design could be very simple or incredibly complex, depending on the purpose of the test. In any case, developing the testing automation plan design is out of the objectives of this documentation. Then, in order to make this documentation as simple as possible we will define the simplest design, which consists of a single Test plan and a single Thread Group.
2.1 Creating Test Plan
Once the application is open a Test plan is created by default. You can rename it with a proper name for the current test plan, for example we will use the name Testing Axional Studio.
2.2 Adding HTTP Request Defaults
An HTTP Request Defaults configuration is not required, but is very advisable in order to have a centralized configuration for further requests. It allows, for example, changing the application server destination of following requests just modifying this configuration. The alternative will be to specify all request setting on each HTTP Requests, which we will see forward.
Taking this into account, for creating an HTTP Request Defaults we have to right click on the Test Plan and choose the option Add/Config Element/HTTP Request Defaults. The settings we will define by the default for each HTTP Request are:
- Server Name or IP. As we are executing test locally, we will use the server name localhost.
- Port Number. The default port number for Axional Studio application server is 8080.

2.3 Adding Thread Group
The next step is creating a Thread Group, for this purpuse you must right click over the test plan and select the option Add/Thread (Users)/Thread Group from the context menu.
Thread Group elements are the begging points of any test plan, each element controls the number of threads JMeter will use to execute your test. The controls for a thread group allow you to:
- Set the number of threads
- Set the ramp-up period, which allows stress progression by indicating how long it will take to reach the full number of threads.
- Set the number of times to execute the test
Each thread will execute the test plan independently of other test threads. Multiple threads are used to simulate concurrent connections to your server application.
2.4 Login with Axional Studio
-
Login through HTTP Request
The simplest way to login into Axional Studio application is via an HTTP Request to the login page. Then, for creating an HTTP Request we have to right click on the previously created Thread Group and choosing Add/Sampler/HTTP Request. Once created, we have to define the following settings:
-
Method:
GET
-
Path:
/account/j_security_check
Send Parameters With the Request Name
Value
Encode?
Include Equals?
j_username myUserName j_password myPassword In order to execute further HTTP Request in an authenticated session context, each Thread Group must have a Login HTTP Request before any other HTTP Request.
Rember to setup the server usingFORM
authentication withoutsalt
. If server hassalt
enabled, basic authentication will fail cause password will not be hashed with server sessionsalt
key. -
Method:
-
Login using tokens
There are two token login modes.
- Login: Using a token to identify yourself in the system. This token could be used along a time period.
- Process execution: This token allows user to execute a system XSQL-Script resource without using username and password. When execution ends up user will be logged out.
Visit link for more detailed information.
2.5 View Test Result
Once here, we were able to execute the test plan and login to Axional Studio application, but what is the result of the execution? In order to capture the results of a test execution we need to create at least one Listener, for example a View Results Tree will serve for our purpose. Then, for creating a View Results Tree we have to right click on the Test Plan and choosing Add/Listeners/View Results Tree.
Afterwards, we can execute the test plan, via the play button, and we will see the execution results on the created View Results. If you analyze the result of the Login HTTP Request you could see the entire request message, the response, the redirects, etc.
2.6 Evaluating Results
As you can see in the HTTP Login case, all executions of test plan are correct, even if login parameters are incorrect. That is, because for the testing evaluator any HTTP Request is correct unless otherwise noted. So, if we want to introduce any restricion for evaluating the given response we should add Assertions
.
It exists many kinds of Assertion
, for evaluating the content of the response, it's size, the response type etc.
For example, we will create a Response Asertion
to evaluate that the login is successful, in that case we know that if the login is successful we will be redirected to /os/desktop. Then, we have to right click on the previously created HTTP Login Request Sampler and choosing Add/Assertion/Response Assertion
3 Test cases
We will use JMeter
to setup test cases.
3.1 Accessing an object
Using the HTTP Request Sampler
you can perform a test plan on the execution of a particular object. Below is the configuration example to access the ctercero object
.
The path parameter for method Get request has the following format:
/apps/jrep/adapter/{adapterID}/runtime/json
Where adapterID is:
- Object code
- Database
- Condition
- Meta Condition
- Order by
- Page position
Example:
/apps/jrep/adapter/gcompedh&dbtest&1=1&&gcompedh.delega,gcompedh.cabid DESC&0/runtime/json
-
Accessing the ctercero object
-
Method:
GET
-
Path:
/apps/jrep/adapter/ctercero&dbtest&1=1&&codigo&0/runtime/json
-
Method:
3.2 Accessing a report
Using the HTTP Request Sampler
you can perform a test plan on the execution of a particular report. Below is the configuration example to access the PURCHASE SITUATION BY ITEMS
report. The parameter code
is indicated the report code into wic metadata, the parameter cond
is indicated the condicion sql apply on the report. Finally _VAR_FECINI
and _VAR_FECFIN
are two variables required for the execution of the report.
-
Accessing the gcominf_sit_articul report
-
Method:
GET
-
Path:
/servlet/jrep
Send Parameters With the Request Name
Value
Encode?
Include Equals?
code gcominf_sit_articul cond 1=1 _VAR_FECINI 01-01-2016 _VAR_FECFIN 23-01-2017 -
Method:
3.3 Generating simple PDF

-
Method:
GET
-
Path:
/servlet/jrep
Send Parameters With the Request | |||
---|---|---|---|
Name
|
Value
|
Encode?
|
Include Equals?
|
code | ctercero | ||
cond | 1=1 | ||
mode | xsl | ||
attach | 0 | ||
oricode | ctercero | ||
ppos | 0 | ||
sort | codigo | ||
xsl | ctercero | ||
plen | 1 | ||
din | A4 |
3.4 Generating simple Excel

-
Method:
GET
-
Path:
/servlet/jrep
Send Parameters With the Request | |||
---|---|---|---|
Name
|
Value
|
Encode?
|
Include Equals?
|
code | ctercero | ||
cond | 1=1 | ||
mode | xls | ||
ppos | 0 | ||
sort | codigo |
3.5 Performing an insert transaction
The path parameter for method Post request has the following format:
/apps/jrep/sdm/{adapterID}/{adapterVerify}
Where adapterID is:
- Object code
- Database
- Condition
- Meta Condition
- Order by
- Page position
And adapterVerify is the crc code.
Example:
/apps/jrep/sdm/gcompedh&dbtest&1=1&&gcompedh.delega,gcompedh.cabid DESC&0/&-1&
-
Make an insert on the ctercero object
-
Method:
POST
-
Path:
/apps/jrep/sdm/ctercero&dbtest&1=1&&ctercero.codigo&0/&-1&
Send Parameters With the Request Name
Value
Encode?
Include Equals?
ctercero.seqno 0 ctercero.codigo ${ctercero.codigo} ctercero.nombre JMETER TEST ctercero.codare 100 ctercero.cif 0 Info
The ctercero.codigo parameter refers to a Config Element Counter called with Reference name is ctercero.codigo.-
Name:
Codigo Tercero
-
Start:
1
-
Increment:
1
-
Maximum:
1000
-
Number format:
JM-000
-
Reference Name:
ctercero.codigo
-
Method:
3.6 Performing an update transaction
The path parameter for method PUT request has the following format:
/apps/jrep/sdm/{adapterID}/{adapterVerify}
Where adapterID is:
- Object code
- Database
- Condition
- Meta Condition
- Order by
- Page position
And adapterVerify is the crc code.
Example:
/apps/jrep/sdm/gcompedh&dbtest&1=1&&gcompedh.delega,gcompedh.cabid DESC&0/&-1&
-
Make an update on the ctercero object:
-
Method:
PUT
-
Path:
/apps/jrep/sdm/ctercero&dbtest&ctercero.codigo MATCHES 'JM-001'&&ctercero.codigo&0/&-1&
-
Body Data:
ctercero.codigo=JM-001&ctercero.nombre=JMETER TEST UPDATE&ctercero.codare=100&
Info
The put method requires theHTTP Header Manager element
.Headers Stored in the Header Manager Name
Value
Accept application/json Content-Type application/x-www-form-urlencoded -
Method:
3.7 Performing a delete transaction
The path parameter for method DELETE request has the following format:
/apps/jrep/sdm/{adapterID}/{adapterVerify}
Where adapterID is:
- Object code
- Database
- Condition
- Meta Condition
- Order by
- Page position
And adapterVerify is the crc code.
Example:
/apps/jrep/sdm/gcompedh&dbtest&1=1&&gcompedh.delega,gcompedh.cabid DESC&0/&-1&
-
Make an delete on the ctercero object:
-
Method:
DELETE
-
Path:
/apps/jrep/sdm/ctercero&dbtest&ctercero.codigo MATCHES 'JM-001'&&ctercero.codigo&0/&-1&
Info
The delete method requires theHTTP Header Manager element
.Headers Stored in the Header Manager Name
Value
Accept application/json -
Method:
3.8 Interacting directly with database

3.9 Executing multiple threads (Sessions)

4 Saving the plan
This JMX file includes the complete test plan.
<?xml version="1.0" encoding="UTF-8"?> <jmeterTestPlan version="1.2" properties="3.1" jmeter="3.1 r1770033"> <hashTree> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Studio Test Plan" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="TestPlan.functional_mode">false</boolProp> <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"/> </elementProp> <stringProp name="TestPlan.user_define_classpath"></stringProp> </TestPlan> <hashTree> <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> <stringProp name="LoopController.loops">1</stringProp> </elementProp> <stringProp name="ThreadGroup.num_threads">1</stringProp> <stringProp name="ThreadGroup.ramp_time">1</stringProp> <longProp name="ThreadGroup.start_time">1482335481000</longProp> <longProp name="ThreadGroup.end_time">1482335481000</longProp> <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> </ThreadGroup> <hashTree> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> <name>saveConfig</name> <value class="SampleSaveConfiguration"> <time>true</time> <latency>true</latency> <timestamp>true</timestamp> <success>true</success> <label>true</label> <code>true</code> <message>true</message> <threadName>true</threadName> <dataType>true</dataType> <encoding>false</encoding> <assertions>true</assertions> <subresults>true</subresults> <responseData>false</responseData> <samplerData>false</samplerData> <xml>false</xml> <fieldNames>true</fieldNames> <responseHeaders>false</responseHeaders> <requestHeaders>false</requestHeaders> <responseDataOnError>false</responseDataOnError> <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> <assertionsResultsToSave>0</assertionsResultsToSave> <bytes>true</bytes> <sentBytes>true</sentBytes> <threadCounts>true</threadCounts> <idleTime>true</idleTime> <connectTime>true</connectTime> </value> </objProp> <stringProp name="filename"></stringProp> </ResultCollector> <hashTree/> <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true"> <collectionProp name="CookieManager.cookies"/> <boolProp name="CookieManager.clearEachIteration">false</boolProp> <stringProp name="CookieManager.policy">standard</stringProp> <stringProp name="CookieManager.implementation">org.apache.jmeter.protocol.http.control.HC4CookieHandler</stringProp> </CookieManager> <hashTree/> <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="dbms" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">dbtest</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">dbms</stringProp> </elementProp> <elementProp name="user" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">jmeter</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">user</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain">192.168.56.104</stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout">8080</stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path"></stringProp> <stringProp name="HTTPSampler.concurrentPool">6</stringProp> </ConfigTestElement> <hashTree/> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Login" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="j_username" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">jmeter</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">j_username</stringProp> </elementProp> <elementProp name="j_password" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">jmeter123</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">j_password</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/account/j_security_check</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree/> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_get" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="code" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">code</stringProp> </elementProp> <elementProp name="cond" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">1=1</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">cond</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/apps/jrep/formauto_s</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree/> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_pdf" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="code" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">code</stringProp> </elementProp> <elementProp name="cond" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">1=1</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">cond</stringProp> </elementProp> <elementProp name="mode" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">xsl</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">mode</stringProp> </elementProp> <elementProp name="attach" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">0</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">attach</stringProp> </elementProp> <elementProp name="oricode" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">oricode</stringProp> </elementProp> <elementProp name="ppos" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">0</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ppos</stringProp> </elementProp> <elementProp name="sort" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">codigo</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">sort</stringProp> </elementProp> <elementProp name="xsl" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">xsl</stringProp> </elementProp> <elementProp name="plen" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">1</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">plen</stringProp> </elementProp> <elementProp name="din" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">A4</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">din</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/servlet/jrep</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree/> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_excel" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="code" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">code</stringProp> </elementProp> <elementProp name="cond" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">1=1</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">cond</stringProp> </elementProp> <elementProp name="mode" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">xls</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">mode</stringProp> </elementProp> <elementProp name="ppos" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">0</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ppos</stringProp> </elementProp> <elementProp name="sort" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">codigo</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">sort</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/servlet/jrep</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree/> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_insert" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="ctercero.seqno" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">0</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ctercero.seqno</stringProp> </elementProp> <elementProp name="ctercero.codigo" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">${ctercero.codigo}</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ctercero.codigo</stringProp> </elementProp> <elementProp name="ctercero.nombre" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">JMETER TEST</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ctercero.nombre</stringProp> </elementProp> <elementProp name="ctercero.codare" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">100</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ctercero.codare</stringProp> </elementProp> <elementProp name="ctercero.cif" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">0</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">ctercero.cif</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/apps/jrep/sdm/ctercero&dbtest&1=1&&ctercero.codigo&0/&-1&</stringProp> <stringProp name="HTTPSampler.method">POST</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Codigo Tercero" enabled="true"> <stringProp name="CounterConfig.start">1</stringProp> <stringProp name="CounterConfig.end">1000</stringProp> <stringProp name="CounterConfig.incr">1</stringProp> <stringProp name="CounterConfig.name">ctercero.codigo</stringProp> <stringProp name="CounterConfig.format">JM-000</stringProp> <boolProp name="CounterConfig.per_user">false</boolProp> <stringProp name="TestPlan.comments">Codigo Tercero</stringProp> </CounterConfig> <hashTree/> </hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_update" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">ctercero.codigo=JM-001&ctercero.nombre=JMETER TEST UPDATE&ctercero.codare=100&</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/apps/jrep/sdm/ctercero&dbtest&ctercero.codigo MATCHES 'JM-001'&&ctercero.codigo&0/&-1&</stringProp> <stringProp name="HTTPSampler.method">PUT</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Accept</stringProp> <stringProp name="Header.value">application/json</stringProp> </elementProp> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Content-Type</stringProp> <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp> </elementProp> </collectionProp> </HeaderManager> <hashTree/> </hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="ctercero_delete" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"/> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/apps/jrep/sdm/ctercero&dbtest&ctercero.codigo MATCHES 'JM-001'&&ctercero.codigo&0/&-1&</stringProp> <stringProp name="HTTPSampler.method">DELETE</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true"> <collectionProp name="HeaderManager.headers"> <elementProp name="" elementType="Header"> <stringProp name="Header.name">Accept</stringProp> <stringProp name="Header.value">application/json</stringProp> </elementProp> </collectionProp> </HeaderManager> <hashTree/> </hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="gcominf_sit_articul_report" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> <elementProp name="code" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">gcominf_sit_articul</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">code</stringProp> </elementProp> <elementProp name="cond" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">1=1</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">cond</stringProp> </elementProp> <elementProp name="_VAR_FECINI" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">01-01-2016</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">_VAR_FECINI</stringProp> </elementProp> <elementProp name="_VAR_FECFIN" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">23-01-2017</stringProp> <stringProp name="Argument.metadata">=</stringProp> <boolProp name="HTTPArgument.use_equals">true</boolProp> <stringProp name="Argument.name">_VAR_FECFIN</stringProp> </elementProp> </collectionProp> </elementProp> <stringProp name="HTTPSampler.domain"></stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">/servlet/jrep</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree/> </hashTree> </hashTree> </hashTree> </jmeterTestPlan>