Hello,
I've stripped down the test plan to be as small as possible, perhaps you could
have a look at it (see the end of this email) and tell me if there is something
wrong with the way we are doing things?
We have a thread group that loops, which contains the User Parameters, after
that there is a Once Only Controller that selects the user from the parameters.
Then there is a loop where we search for a record based on a name that is
inside the CSV file (specified from the parameters) and then open the record
using the record id.
The open record step is where it fails saying with "No record with ID
${aktenzeichen} found". Which means that there was no result for the search.
We generate the data for the CSV files out of the database, so those records
are all definitely there.
A particular set of records (the contents of one CSV file) can only be accessed
by the matching user.
Thanks for your help!
Mit freundlichen Grüßen
Jörg Godau
SCHÜTZE Consulting Informationssysteme GmbH Argentinische Allee 22b
14163 Berlin
Tel.: 030/ 802 49 44
Fax: 030/ 8090 39 95
www.schuetze-berlin.de
Geschäftsführer: Klaus-Dieter Schütze
Registergericht: Amtsgericht Charlottenburg
Registernummer: HRB 73618
Umsatzsteuer-Identifikationsnummer gemäß § 27a Umsatzsteuergesetz: DE 813181239
---------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.1">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Familie
Suchen und Öffnen" enabled="true">
<boolProp name="TestPlan.functional_mode">false</boolProp>
<stringProp name="TestPlan.comments"></stringProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables"
elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"
testname="Benutzer definierte Variablen" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp
name="Argument.value">${__P('threads',10)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="rampup" elementType="Argument">
<stringProp name="Argument.name">rampup</stringProp>
<stringProp
name="Argument.value">${__P('rampup',60)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="loops" elementType="Argument">
<stringProp name="Argument.name">loops</stringProp>
<stringProp
name="Argument.value">${__P('loops',40)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
testname="Thread Group" enabled="true">
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.num_threads">${threads}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<longProp name="ThreadGroup.start_time">1267541850000</longProp>
<stringProp name="ThreadGroup.on_sample_error">stopthread</stringProp>
<stringProp name="ThreadGroup.ramp_time">${rampup}</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">${loops}</stringProp>
</elementProp>
<longProp name="ThreadGroup.end_time">1267541850000</longProp>
</ThreadGroup>
<hashTree>
<UserParameters guiclass="UserParametersGui" testclass="UserParameters"
testname="User Parameters" enabled="true">
<collectionProp name="UserParameters.names">
<stringProp name="-959950630">bearbeiter.id</stringProp>
<stringProp name="933938012">resource.file</stringProp>
</collectionProp>
<collectionProp name="UserParameters.thread_values">
<collectionProp name="186041271">
<stringProp name="1438503176">240402374</stringProp>
<stringProp name="1900928146">familiennamen_01.csv</stringProp>
</collectionProp>
<collectionProp name="-439331819">
<stringProp name="916731973">118790704</stringProp>
<stringProp name="1901851667">familiennamen_02.csv</stringProp>
</collectionProp>
<collectionProp name="914245807">
<stringProp name="49617">210</stringProp>
<stringProp name="1902775188">familiennamen_03.csv</stringProp>
</collectionProp>
<collectionProp name="1261995183">
<stringProp name="-1867748347">110809336</stringProp>
<stringProp name="1903698709">familiennamen_04.csv</stringProp>
</collectionProp>
<collectionProp name="-1411389796">
<stringProp name="912108855">118740189</stringProp>
<stringProp name="1904622230">familiennamen_05.csv</stringProp>
</collectionProp>
<collectionProp name="2023564199">
<stringProp name="49808">275</stringProp>
<stringProp name="1907392793">familiennamen_08.csv</stringProp>
</collectionProp>
</collectionProp>
<boolProp name="UserParameters.per_iteration">false</boolProp>
</UserParameters>
<hashTree/>
<OnceOnlyController guiclass="OnceOnlyControllerGui"
testclass="OnceOnlyController" testname="1x Select User" enabled="true"/>
<hashTree>
<HTTPSampler2 guiclass="HttpTestSampleGui2" testclass="HTTPSampler2"
testname="Select User from Param" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined
Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="action" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">select</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">action</stringProp>
</elementProp>
<elementProp name="bearbeiterId" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp
name="Argument.value">${bearbeiter.id}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">bearbeiterId</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">${path.root}/bearbeiterListe.do</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>
</HTTPSampler2>
<hashTree/>
</hashTree>
<GenericController guiclass="LogicControllerGui"
testclass="GenericController" testname="Suche" enabled="true"/>
<hashTree>
<HTTPSampler2 guiclass="HttpTestSampleGui2" testclass="HTTPSampler2"
testname="Perform Search" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined
Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="query" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp
name="Argument.value">${_StringFromFile(${resource.path}/${resource.file})}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">query</stringProp>
</elementProp>
<elementProp name="type" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">auto</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">type</stringProp>
</elementProp>
<elementProp name="filter" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">alle</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">filter</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">${path.root}/familieSuche.do</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</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>
</HTTPSampler2>
<hashTree>
<RegexExtractor guiclass="RegexExtractorGui"
testclass="RegexExtractor" testname="grep AZ" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp
name="RegexExtractor.refname">aktenzeichen</stringProp>
<stringProp
name="RegexExtractor.regex">familie\.do\?id=(\d+)</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
<stringProp name="RegexExtractor.default"></stringProp>
<stringProp name="RegexExtractor.match_number">0</stringProp>
</RegexExtractor>
<hashTree/>
</hashTree>
<HTTPSampler2 guiclass="HttpTestSampleGui2" testclass="HTTPSampler2"
testname="Open Record" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments"
guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined
Variables" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="id" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">${aktenzeichen}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">id</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">${path.root}/familie.do</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</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>
</HTTPSampler2>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
---------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]