I am using windows7 and the latest version of Jmeter. I created a simple HTTP Request Sampler and in the server name I added google.com
When I ran it I got the following error:
2015/11/30 14:15:32 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2015/11/30 14:15:32 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2015/11/30 14:15:32 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2015/11/30 14:15:32 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2015/11/30 14:15:32 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2015/11/30 14:15:32 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2015/11/30 14:15:32 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false
2015/11/30 14:15:32 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2015/11/30 14:15:32 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2015/11/30 14:15:32 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2015/11/30 14:15:33 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1
2015/11/30 14:15:33 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2015/11/30 14:15:33 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2015/11/30 14:15:33 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
This is normal output of JMeter, it indicates that JMeter started and finished one thread one time.
You can visualize test results with Listeners, in particular View Results Tree is extremely useful for test script development and debugging.
As you can see at below image:
the request is successful (green triangle)
google search page is displayed at "Response data" tab
log viewer contains the same entries as you posted
Don't forget to disable listeners for the actual test execution, they consume a lot of resources. You'll be able to open results file after test run using "Browse" button and perform analysis.
See How to debug your Apache JMeter script article for detailed information on getting to the bottom of JMeter test script problem.
Related
I want to set Duration for test working. In my Thread Group I set
Number of Threads = 1
Ramp-up period = 0
checked 'Forever'
checked 'Scheduler'
Duration = 10
Startup delay = 0
So if test needs more than 10 seconds to be finished, elapsed time is quit right - 10 second. BUT if it needs, for example, 5 seconds, it stops after 5 seconds, not after 10 as I expect.
How to make script to work until Duration time elapsed?
UPD.
Screenshot of Thread Group settings
Logs for last running:
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2017/04/11 19:53:33 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2017/04/11 19:53:33 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2017/04/11 19:53:33 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 0 perThread 0.0 delayedStart=false
2017/04/11 19:53:33 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2017/04/11 19:53:33 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2017/04/11 19:53:33 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2017/04/11 19:53:33 INFO - jmeter.services.FileServer: Stored: data.txt
2017/04/11 19:53:40 INFO - jmeter.threads.JMeterThread: Stop Thread seen for thread Thread Group 1-1, reason:org.apache.jorphan.util.JMeterStopThreadException: End of file:data.txt detected for CSV DataSet:CSV get parameter for request configured with stopThread:true, recycle:false
2017/04/11 19:53:40 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2017/04/11 19:53:40 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2017/04/11 19:53:40 INFO - jmeter.services.FileServer: Close: data.txt
2017/04/11 19:53:40 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
Given you set Loop Count as "Forever" your test should run for 10 seconds (or even more if JMeter will need to gracefully shutdown a lot of samplers) so my expectation is that either error occurs or you are using some form of test end logic like If Controller of Test Action sampler which trigger premature stop.
When JMeter behaves in a unexpected manner remember always to check jmeter.log file - normally it contains enough troubleshooting information. If you are not able to figure out the reason yourself - post the log file here.
As an alternative you could try Ultimate Thread Group which provides more advanced way of defining the load pattern and it comes with the anticipated load chart.
The Ultimate Thread Group (as well as any other plugin) can be installed using JMeter Plugins Manager
While running my JMeter script with 3 threads, ramp-up 5 sec I am getting transformer exception. Actually in my scenario I want to click on the multiple links to the page randomly so I have used the random variable in JMeter But after running, I am getting below error, however, my XPath expression in XPath extractor looks fine.
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2016/09/23 23:44:03 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2016/09/23 23:44:03 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Starting 3 threads for group Thread Group.
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2016/09/23 23:44:03 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 3 ramp-up 5 perThread 1666.6666 delayedStart=false
2016/09/23 23:44:03 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2016/09/23 23:44:03 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2016/09/23 23:44:03 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2016/09/23 23:44:05 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-2
2016/09/23 23:44:07 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-3
2016/09/23 23:44:09 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[#class="title"]/a/#href)[$(RandomNumber)]) Expected ], but found: RandomNumber
2016/09/23 23:44:10 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1
2016/09/23 23:44:10 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2016/09/23 23:44:10 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[#class="title"]/a/#href)[$(RandomNumber)]) Expected ], but found: RandomNumber
2016/09/23 23:44:11 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-3
2016/09/23 23:44:11 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-3
2016/09/23 23:44:11 WARN - jmeter.extractor.XPathExtractor: TransformerException while processing ((//span[#class="title"]/a/#href)[$(RandomNumber)]) Expected ], but found: RandomNumber
2016/09/23 23:44:12 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-2
2016/09/23 23:44:12 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-2
2016/09/23 23:44:12 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2016/09/23 23:44:12 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
JMeter Variables are referenced as ${RandomNumber} - you need to use braces instead of parentheses. Alternatively you can use __V() function like
${__V(RandomNumber)}
So you need to change your XPath query to one of the following:
(//span[#class="title"]/a/#href)[${RandomNumber}]
(//span[#class="title"]/a/#href)[${__V(RandomNumber)}]
Your approach seems to be fragile. I don't know how many links are at the page and how do you generate your ${RandomNumber} variable, however I would rather go the following way:
Store all links at the page into JMeter variables like:
link_1=http://example.com
link_2=http://jmeter.apache.org
...
link_matchNr=50
Use random JMeter variable from previously extracted ones where required via aforementioned __V() and __Random() functions combination like:
${__V(link_${__Random(1,${link_matchNr},)})}
Demo:
See Here’s What to Do to Combine Multiple JMeter Variables article for more information on how you can combine different JMeter Functions and Variables into a single expression.
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2016/08/30 14:12:34 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2016/08/30 14:12:34 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2016/08/30 14:12:34 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false
2016/08/30 14:12:34 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2016/08/30 14:12:34 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2016/08/30 14:12:34 INFO - jmeter.services.FileServer: Stored: NewOffenderInfo Alias: NewOffenderInfo#27949741
2016/08/30 14:12:34 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.IllegalArgumentException: File NewOffenderInfo must exist and be readable
at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:422)
at org.apache.jmeter.services.FileServer.getReader(FileServer.java:388)
at org.apache.jmeter.services.FileServer.getParsedLine(FileServer.java:379)
at org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:196)
at org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:405)
at org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:397)
at org.apache.jmeter.control.GenericController.next(GenericController.java:158)
at org.apache.jmeter.control.GenericController.nextIsAController(GenericController.java:222)
at org.apache.jmeter.control.GenericController.next(GenericController.java:176)
at org.apache.jmeter.control.LoopController.next(LoopController.java:123)
at org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:87)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:239)
at java.lang.Thread.run(Unknown Source)
2016/08/30 14:12:34 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2016/08/30 14:12:34 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2016/08/30 14:12:34 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
If I remove my CSV file and run the script it will work, but as long as I put the csv config , I'm not able to run my script. I set the Recycle on EOF = False and Stop Thread on EOF =True and Sharing mode= Current thread group. can somebody help me find out what is wrong?
You need to make sure that the path you have mentioned to configure the CSV is correct. As per the exception in Jmeter.log file, it's not able to find the CSV.
Check following things:
Name of the file is correct. In case of Unix file names are case sensitive so check the name of the file and name you have mentioned in CSV data set configuration.
Keep the CSV file in the same folder where your JMX resides, and just mention file name in CSV dataset config. This avoids confusion in future even if you move the script to any other box.
Also make sure in the file there is no new line character at the end of the file. That will result in error.
As the log says:
File NewOffenderInfo must exist and be readable at
You file is either not here or does not have correct rights.
Be sure to include the filename extension (.csv) in the CSV Data Set Config.
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2015/06/12 11:00:11 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2015/06/12 11:00:11 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2015/06/12 11:00:11 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false
2015/06/12 11:00:11 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2015/06/12 11:00:11 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2015/06/12 11:00:11 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.IllegalStateException: The driver executable does not exist: D:\Mm performance\apache-jmeter-2.13\apache-jmeter-2.13\bin
at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:117)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:39)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.usingDriverExecutable(ChromeDriverService.java:116)
at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.getThreadService(ChromeDriverConfig.java:72)
at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:53)
at com.googlecode.jmeter.plugins.webdriver.config.ChromeDriverConfig.createBrowser(ChromeDriverConfig.java:18)
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:233)
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:220)
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:610)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:998)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:980)
at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:579)
at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:567)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Thread.java:745)
2015/06/12 11:00:11 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2015/06/12 11:00:11 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2015/06/12 11:00:11 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
Download the latest version of ChromeDriver from http://chromedriver.storage.googleapis.com/index.html (if not yet)
Add the following line to system.properties file (the file lives under /bin folder of your JMeter installation)
webdriver.chrome.driver=d:/chromedriver.exe
You may have to substitute d:/chromedriver.exe with actual path to the ChromeDriver binary. Remember to use either forward slashes c:/somefoler/someotherfolder or escaped back slashes c:\\somefolder\\someotherfolder if you use Windows
Restart JMeter
ChromeDriver should work normally.
See Apache JMeter Properties Customization Guide for advanced information on various JMeter properties and ways of setting, using and overriding them.
I configured jmeter to run tests using Chrome Driver Config.
Test run with no errors:
2015/06/01 20:14:14 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2015/06/01 20:14:14 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2015/06/01 20:14:14 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2015/06/01 20:14:14 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2015/06/01 20:14:14 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2015/06/01 20:14:14 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2015/06/01 20:14:14 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false
2015/06/01 20:14:14 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2015/06/01 20:14:14 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2015/06/01 20:14:14 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2015/06/01 20:14:16 INFO - com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig: iterationStart()
2015/06/01 20:14:43 INFO - jmeter.threads.JMeterThread: Thread is done: Thread Group 1-1
2015/06/01 20:14:43 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2015/06/01 20:14:44 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2015/06/01 20:14:44 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
But within the execution i see empty page only: http://screencast.com/t/REd78GizooEl
What can be the reason?
Solved the problem, by adjusting preferences (can't remember clear steps)