hi
Ive tweaked this script to work around errors
Thread Group
+Initial request
+While Controller(true)
++HTTP Sampler (Path = .*)
+++HTML Link Parser
++If Controller (${__javaScript(!${JMeterThread.last_sample_ok})})
+++Initial request
+HTTPRequestDefaults (Server=whatever)http://cid-1bd02fe33f80b8ac.skydrive.live.com/self.aspx/Public/jmeter/spider/Spider.jmx regards deepak On Thu, Nov 19, 2009 at 3:34 PM, Deepak Shetty <[email protected]> wrote: > you only seem to have HttprequestDefault elements, no samplers > regards > deepak > > On Thu, Nov 19, 2009 at 3:03 PM, Carl Shaulis <[email protected]>wrote: > >> This e-mail makes spidering sound extremely easy. I attempted to follow >> these steps but no success. Here is the script for keen eyes. >> >> I am assuming that I do not need to start with a .csv file of URLs. >> >> Is that a bad assumption? >> >> Thanks, >> >> Carl >> >> <?xml version="1.0" encoding="UTF-8"?> >> <jmeterTestPlan version="1.2" properties="2.1"> >> <hashTree> >> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="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="Sparky Spider" enabled="true"> >> <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">1258670311000</longProp> >> <longProp name="ThreadGroup.end_time">1258670311000</longProp> >> <boolProp name="ThreadGroup.scheduler">false</boolProp> >> <stringProp >> name="ThreadGroup.on_sample_error">continue</stringProp> >> <stringProp name="ThreadGroup.duration"></stringProp> >> <stringProp name="ThreadGroup.delay"></stringProp> >> </ThreadGroup> >> <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> >> <stringProp >> name="HTTPSampler.domain">http://10.28.123.55</stringProp> >> <stringProp name="HTTPSampler.port">8081</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"></stringProp> >> </ConfigTestElement> >> <hashTree/> >> <WhileController guiclass="WhileControllerGui" >> testclass="WhileController" testname="While Controller" enabled="true"> >> <stringProp name="WhileController.condition">LAST</stringProp> >> </WhileController> >> <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> >> <stringProp name="HTTPSampler.domain">http://10.28.123.55 ; >> Path >> .*</stringProp> >> <stringProp name="HTTPSampler.port">8081</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"></stringProp> >> </ConfigTestElement> >> <hashTree/> >> <AnchorModifier guiclass="AnchorModifierGui" >> testclass="AnchorModifier" testname="HTML Link Parser" enabled="true"/> >> <hashTree/> >> </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>true</xml> >> <fieldNames>false</fieldNames> >> <responseHeaders>false</responseHeaders> >> <requestHeaders>false</requestHeaders> >> <responseDataOnError>false</responseDataOnError> >> >> >> <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessag >> e> >> <assertionsResultsToSave>0</assertionsResultsToSave> >> <bytes>true</bytes> >> </value> >> </objProp> >> <stringProp name="filename"></stringProp> >> </ResultCollector> >> <hashTree/> >> </hashTree> >> </hashTree> >> </hashTree> >> </jmeterTestPlan> >> >> >> >> On 11/17/09 5:36 AM, "Jason James" <[email protected]> wrote: >> >> > Hi folks, >> > >> > I am using Jmeter ver 2.3.4 >> > >> > I had been trying to get the Jmeter spidering working, the recipe in >> > the docs I found just did not work. I was finding that the documented >> > example >> > >> > 1. did not loop >> > 2. would go back to th etop level http://www.mysite.org/.* and die >> > without re-spidering. >> > >> > Here is my working testplan: >> > >> > Thread Group [action to be taken after a sampler error = continue] >> > - HTTP Request [server name or IP = www.mysite.org] >> > - While Controller [Condition = LAST] You must type LAST >> > - - HTTP Request [server name www.mysite.org ; Path .*] >> > - - Link Parser >> > >> > and that's it. The crucial things here were >> > .: the While Controller with the LAST option for the Condition >> > .: Also the documentation tells you to put server = .* in the first >> > HTTP Request : do that and you will spider the whole web! >> > .: setting action = continue in the Thread Group >> > >> > Once all this was in place I found I could randomly trawl my clients >> > site with about 60,000 pages. I could ramp up the number of users to >> > simulate a load of people randomly hitting the site. Insertion of a >> > Timer Controller with a Gaussian distribution helps make it a bit more >> > random. >> > >> > Happy spidering. >> > >> > Jason >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected] >> > For additional commands, e-mail: [email protected] >> > >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >

