Testing web services on AWS using jmeter - getting 403 forbidden error
Hi everyone I have to test the performance of a web service that's residing on AWS. I have been given a url by the developer, that looks like this: https://xxx.us-east-1.elb.amazonaws.com/example/InvestorDataService.svc?wsdl I also have the security certificate in pfx format. After reading the user guide, I tried the WebService(SOAP) Request (DEPRECATED) sampler but it's not even loading the WSDL. I get the 403 forbidden response code. I've added these lines to the jmete system.properties file: javax.net.ssl.keyStore=C:\KeyStore\AppClientCert.pfx javax.net.ssl.keyStorePassword=123 But it's still not working. Can anyone point me in the right direction, what am I doing wrong here? Regards Sam
HTTP request - Implementation
Hi everyone I've read what the reference document says about the Implementation drop-down in HTTP Request sampler. I still don't get what is this selection's significance on test runs? Can anyone elaborate? Regards Sam
why am i getting these errors?
I would really appreciate it if someone can tell me why I'm getting the following errors with an embedded resource when it is requested by jmeter. The error is in response to a request for .css and in another sampler a .js. And it happens intermittently, not consistently. The number of threads is only 5 and loop count is 50. My samplers are set to retrieve the embedded resources with a pool size of 8. I have added a cache manager and I'm clearing the cache for each iteration. Is the connection timing out or is it because of the firewall or could it be some other reason? Regards Sam -- org.apache.http.conn. ConnectTimeoutException: Connect to x timed out at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:551) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:286) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1804) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1772) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$1$1.run(HTTPSamplerBase.java:1240) at java.lang.Thread.run(Unknown Source) org.apache.http.conn.HttpHostConnectException: Connection to xx refused at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:286) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1804) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1772) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$1$1.run(HTTPSamplerBase.java:1240) at java.lang.Thread.run(Unknown Source) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.security.ssl.SSLSocketImpl.connect(Unknown Source) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:549) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ... 15 more ---
Connection timeout Error
I would really appreciate it if someone can tell me why I'm getting the following error when an embedded resource is retrieved with my sampler. The error is in response to a request for .css and in another sampler a .js. And it happens intermittently, not consistently. I have added a cache manager and I'm clearing the cache for each iteration. Is the connection really timing out or is it because of the firewall or could it be some other reason? Regards Sam org.apache.http.conn.ConnectTimeoutException: Connect to x timed out at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:551) at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:286) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1804) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:1772) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$1$1.run(HTTPSamplerBase.java:1240) at java.lang.Thread.run(Unknown Source)
Re: Establishing baseline metrics
Sorry, I just hit reply instead of directing my question. This is in response to Deepak S's comment: *"Ill also add that the times are usually as seen by the end user - so the times as seen by Jmeter usually have to be lesser (since these are max times you need to consider empty cache for first time access or slower networks etc)."* I have added a Cache manager to my test which is cleared on each iteration and checked the option of retrieving all embedded resources from HTML files. I'm also using concurrent pool with a size of 8. Doesn't that give higher or closer times to those seen by end user? Regards Sam > On Mon, Jul 1, 2013 at 3:44 PM, Deepak Shetty wrote: > >> Ill also add that the times are usually as seen by the end user - so the >> times as seen by Jmeter usually have to be lesser (since these are max >> times you need to consider empty cache for first time access or slower >> networks etc). You also usually use something like 90 or 95 percentile >> >> >>
Re: Establishing baseline metrics
I have added a Cache manager to my test which is cleared on each iteration and checked the option of retrieving all embedded resources from HTML files. I'm also using concurrent pool with a size of 8. Doesn't that give higher or closer times to those seen by end user? Regards Sam On Mon, Jul 1, 2013 at 3:44 PM, Deepak Shetty wrote: > Ill also add that the times are usually as seen by the end user - so the > times as seen by Jmeter usually have to be lesser (since these are max > times you need to consider empty cache for first time access or slower > networks etc). You also usually use something like 90 or 95 percentile > > > On Mon, Jul 1, 2013 at 12:42 PM, Deepak Shetty wrote: > > > >Does that mean I should not go beyond 50 or should I still do tests with > > a higher number? > > You usually have to factor in growth (growing at a rate of X users per > > month or whatever with whenever is your next scheduled release where you > > could make reasonable amount of optimisations) - i.e. capacity planning. > > > > > > >How can I go about establishing baselines for page load times, if I do > > not have any historic data and have no industry benchmarks or >competitor > > data. > > There are some usability tests as to what times cause user's to perceive > > as slow. (Normal navigation has different values then login or search or > > more secure pages like checkout) - you can google these. These are > specific > > to industry and functionality. (for e.g. we have 2 seconds for search > page > > (most heavily used part of the website) , 4 seconds for catalog pages, > > 6seconds for login/secure pages/ pages that have any ERP integration) - > but > > its better if you actually conduct some usability tests with end usersor > if > > you can find equivalents for your industry. > > > > > > >Would it make sense to say let's see how the website is doing throughout > > >the development phase and establish our baseline using the current > > response > > >times? > > No! you have to determine the times you want(as above) and see that your > > current response satisfies those (suppose your current page takes 60 > > seconds are you satisfied that , that is your baseline?) > > > > > > On Mon, Jul 1, 2013 at 12:33 PM, nmq wrote: > > > >> Hi all > >> > >> This is not a JMeter specific questions but since this user list > comprises > >> of experts in performance testing, I figured it would be a good place to > >> ask this question. > >> > >> My question is how do you establish baselines for a website's > performance > >> if you do not have any historic data? Lets say this is a new website > and > >> its for a limited number of customers. > >> > >> How do you determine what should be the number of concurrent users you > >> should simulate. > >> > >> Lets say the executives say off at the top of their heads, that the > >> maximum > >> number of concurrent users would be 50 at peak times. Does that mean I > >> should not go beyond 50 or should I still do tests with a higher number? > >> > >> How can I go about establishing baselines for page load times, if I do > not > >> have any historic data and have no industry benchmarks or competitor > data. > >> > >> Would it make sense to say let's see how the website is doing throughout > >> the development phase and establish our baseline using the current > >> response > >> times? > >> > >> I would appreciate any input. > >> > >> > >> Regards > >> Sam > >> > > > > >
Re: Establishing baseline metrics
mance testing as a way to cross-check my development > team > >> against the perpetual tendency to gum-up the code and slow > >> things down. So in order to make the testing effective for the > >> developers, > >> I need to perf test _very_specific_ things. Trying to > >> performance test the "system" as a whole is nearly an impossible task - > >> not only because there are so many variables that influence > >> the tests, but precisely because "all of those variables" make it > >> impossible to debug which one causes the bottleneck when there is > >> a change in performance from one release to the next. (Have you ever > sent > >> your programmers off to 'fix' a performance problem that > >> turned out to be caused by an O/S update on your server? I have...) > >> > >> Instead, we create performance tests that test specific functional > >> systems. That is, the "login" perf test. The "registration" perf > >> test. The "..." perf test. Each one of these tests is run independently, > >> so that when we encounter a slower benchmark - we can tell > >> the developers immediately where to concentrate their efforts in fixing > >> the problem. (We also monitor all parts of the system (CPU, > >> IO, Database Transactions (reads, writes, full table scans, etc.) from > >> all > >> servers involved in the test. The goal is not to simulate > >> 'real user activity', it is to max out the capacity of at least 1 of the > >> servers in the test (specifically the one executing the > >> 'application logic'). If we max out that one server, we know that our > >> 'benchmark' is the most we can expect of a single member of > >> our cluster of machines. (We also test a cluster of 2 machines - and > >> measure the fall-off in capacity between a 1-member cluster and > >> 2-member cluster, this gives us an idea of how much impact our > >> 'clustering' system has on performance as well.) I suppose you could > >> say that I look at it as if, we measure the 'maximum capacity', and so > >> long as the number of users doesn't exceed that - we will > >> perform OK. > >> > >> We do run some 'all-encompassing' system tests as well, but those are > >> more > >> for 'stress' testing than for performance benchmarking. > >> We are specifically looking for things that start to break-down after > >> hours of continuous operation at peak capacity. So we monitor > >> error logs and look to make sure that we aren't throwing errors while > >> under stress. > >> > >> The number one thing to keep in mind about performance testing is that > >> you > >> have to use 'real data'. We actually download our > >> production database every weekend, and strip out any 'personal > >> information' (stuff that we protect in our production environment) by > >> either nulling it out, or replacing it with bogus data. This allows us > to > >> run our performance tests against a database that has 100s > >> of millions of rows of data. Nearly all of our performance 'bugs' have > >> been caused by poor data handling in the code (SQL requests > >> that don't use indices (causing a full table scan), badly formed joins, > >> fetching a few rows of data and then looping through them in > >> the code (when the 'few rows of data' from your 'dev' environment become > >> 100,000 rows with the production data, this tends to bog > >> the code down a lot), etc.). So if you are testing with 'faked' data, > >> odds > >> are good you will miss a lot of performance issues - no > >> matter what form of performance testing you use. > >> > >> I will say that we have served over 130M web pages in 1 month, using > only > >> 5 servers (4 tomcats, and 1 DB server)... Those pages > >> represented about 10X in "GET" requests to our servers... > >> > >> -- > >> Robin D. Wilson > >> Sr. Director of Web Development > >> KingsIsle Entertainment, Inc. > >> http://www.kingsisle.com > >> > >> > >> -Original Message- > >> From: nmq [mailto:nmq0...@gmail.com] > >> Sent: Monday, July 01, 2013 2:33 PM > >> To: JMeter Users List > >> Subject: Establishing baseline metrics > >> > >
Establishing baseline metrics
Hi all This is not a JMeter specific questions but since this user list comprises of experts in performance testing, I figured it would be a good place to ask this question. My question is how do you establish baselines for a website's performance if you do not have any historic data? Lets say this is a new website and its for a limited number of customers. How do you determine what should be the number of concurrent users you should simulate. Lets say the executives say off at the top of their heads, that the maximum number of concurrent users would be 50 at peak times. Does that mean I should not go beyond 50 or should I still do tests with a higher number? How can I go about establishing baselines for page load times, if I do not have any historic data and have no industry benchmarks or competitor data. Would it make sense to say let's see how the website is doing throughout the development phase and establish our baseline using the current response times? I would appreciate any input. Regards Sam
Re: Is there a way to set the duration for which JMeter waits for a response
Thank you On Jun 20, 2013 3:38 PM, "Deepak Shetty" wrote: > see timeout > http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request > The action you want to take on error can be configured on the thread group > http://jmeter.apache.org/usermanual/component_reference.html#Thread_Group > You rarely want to stop the thread though - you usually just want it to > skip the rest of the steps of that test and move onto the next data item > > > On Thu, Jun 20, 2013 at 12:29 PM, nmq wrote: > > > I googled this but didn't find anything. > > Is there a way to force JMeter to terminate the current thread and move > on > > to another if an HTTP Sampler receives no response for a certain amount > of > > time? > > This is a situation where there was no response whatsoever for over an > hour > > and JMeter kept waiting for a response. > > > > Regards > > Sam > > >
Is there a way to set the duration for which JMeter waits for a response
I googled this but didn't find anything. Is there a way to force JMeter to terminate the current thread and move on to another if an HTTP Sampler receives no response for a certain amount of time? This is a situation where there was no response whatsoever for over an hour and JMeter kept waiting for a response. Regards Sam
Re: CSRF
I'm hunting for a solution to this and if I can get a quicker answer here, that would help. This second cookie value (CSRF value) that I've retrieved is to be posted with all my HTTP Samplers. The cookie being set at the header is being managed by Cookie Manager so no issues there. My questions is that is there a way to pass this parameter (CSRF value) for all samplers instead of setting it under each HTTP Request individually? Regards Sam On Wed, Jun 19, 2013 at 2:43 PM, nmq wrote: > Yes, regex and cookies. > > The information given in "Logging in" section of this blog helped a lot. > > http://lincolnloop.com/blog/2011/sep/21/load-testing-jmeter-part-1-getting-started/ > > Regards > Sam > > > On Wed, Jun 19, 2013 at 2:35 PM, Madhu Sekhar wrote: > >> Is it from regex or any other matters? >> >> On Thursday, June 20, 2013, nmq wrote: >> > I figured it out. Took a lot of googling and reading blogs, but I got it >> to >> > work. >> > Thanks for your help >> > >> > >> > On Wed, Jun 19, 2013 at 11:22 AM, Madhu Sekhar < >> madhuvchand...@gmail.com >> >wrote: >> > >> >> Then Did you Write a RegEx to Correlate in the script? if not Please do >> it. >> >> >> >> Thanks, >> >> Madhu >> >> >> >> >> >> >> >> On Wed, Jun 19, 2013 at 8:49 PM, nmq wrote: >> >> >> >> > Yes, it changes. >> >> > >> >> > >> >> > On Wed, Jun 19, 2013 at 11:02 AM, Madhu Sekhar < >> madhuvchand...@gmail.com >> >> > >wrote: >> >> > >> >> > > Does the below value in the script change for every session/login? >> >> > > >> >> > > 'f3e8822f-3b26- >> >> > > 48fd-b1ff-6c80742fe28f >> >> > > >> >> > > Thanks, >> >> > > Madhu >> >> > > >> >> > > >> >> > > On Wed, Jun 19, 2013 at 8:22 PM, nmq wrote: >> >> > > >> >> > > > Hi All >> >> > > > >> >> > > > I've run into an issue. Our development team made some changes >> >> > yesterday >> >> > > > and today I'm getting an error "Error 401--Unauthorized" response >> for >> >> > an >> >> > > > HTTP request. >> >> > > > >> >> > > > I examined the responses in Fiddler and I noticed this in the >> head >> >> tag. >> >> > > > >> >> > > > >> >> > > > $.setCSRFNonce('f3e8822f-3b26-48fd-b1ff-6c80742fe28f'); >> >> > > > >> >> > > > >> >> > > > I did some research on what CSRF is and found all kind of info >> on >> >> > > Django. >> >> > > > Also found a blog saying cookie manager should be able to handle >> this >> >> > > > authentication, by combining two elements by setting the >> >> > save.cookie >> >> > > > property in jmeter to true and to reference the CSRF token in an >> HTTP >> >> > > > request. >> >> > > > >> >> > > > I've tried this solution and it doesn't seem to work. I'm still >> >> getting >> >> > > the >> >> > > > error. >> >> > > > >> >> > > > I've also been reading django documentation and trying to make >> sense >> >> of >> >> > > it >> >> > > > all. I would appreciate it if someone can help out and explain in >> >> > simple >> >> > > > terms (I'm not a programmer) exactly how do I go about solving >> this >> >> > > issue. >> >> > > > >> >> > > > Any guidance would be highly appreciated. >> >> > > > >> >> > > > Thank you >> >> > > > Sam >> >> > > > >> >> > > >> >> > > >> >> > > >> >> > > -- >> >> > > madhu kk >> >> > > >> >> > >> >> >> >> >> >> >> >> -- >> >> madhu kk >> >> >> > >> >> -- >> madhu kk >> > >
Re: CSRF
Yes, regex and cookies. The information given in "Logging in" section of this blog helped a lot. http://lincolnloop.com/blog/2011/sep/21/load-testing-jmeter-part-1-getting-started/ Regards Sam On Wed, Jun 19, 2013 at 2:35 PM, Madhu Sekhar wrote: > Is it from regex or any other matters? > > On Thursday, June 20, 2013, nmq wrote: > > I figured it out. Took a lot of googling and reading blogs, but I got it > to > > work. > > Thanks for your help > > > > > > On Wed, Jun 19, 2013 at 11:22 AM, Madhu Sekhar >wrote: > > > >> Then Did you Write a RegEx to Correlate in the script? if not Please do > it. > >> > >> Thanks, > >> Madhu > >> > >> > >> > >> On Wed, Jun 19, 2013 at 8:49 PM, nmq wrote: > >> > >> > Yes, it changes. > >> > > >> > > >> > On Wed, Jun 19, 2013 at 11:02 AM, Madhu Sekhar < > madhuvchand...@gmail.com > >> > >wrote: > >> > > >> > > Does the below value in the script change for every session/login? > >> > > > >> > > 'f3e8822f-3b26- > >> > > 48fd-b1ff-6c80742fe28f > >> > > > >> > > Thanks, > >> > > Madhu > >> > > > >> > > > >> > > On Wed, Jun 19, 2013 at 8:22 PM, nmq wrote: > >> > > > >> > > > Hi All > >> > > > > >> > > > I've run into an issue. Our development team made some changes > >> > yesterday > >> > > > and today I'm getting an error "Error 401--Unauthorized" response > for > >> > an > >> > > > HTTP request. > >> > > > > >> > > > I examined the responses in Fiddler and I noticed this in the head > >> tag. > >> > > > > >> > > > > >> > > > $.setCSRFNonce('f3e8822f-3b26-48fd-b1ff-6c80742fe28f'); > >> > > > > >> > > > > >> > > > I did some research on what CSRF is and found all kind of info on > >> > > Django. > >> > > > Also found a blog saying cookie manager should be able to handle > this > >> > > > authentication, by combining two elements by setting the > >> > save.cookie > >> > > > property in jmeter to true and to reference the CSRF token in an > HTTP > >> > > > request. > >> > > > > >> > > > I've tried this solution and it doesn't seem to work. I'm still > >> getting > >> > > the > >> > > > error. > >> > > > > >> > > > I've also been reading django documentation and trying to make > sense > >> of > >> > > it > >> > > > all. I would appreciate it if someone can help out and explain in > >> > simple > >> > > > terms (I'm not a programmer) exactly how do I go about solving > this > >> > > issue. > >> > > > > >> > > > Any guidance would be highly appreciated. > >> > > > > >> > > > Thank you > >> > > > Sam > >> > > > > >> > > > >> > > > >> > > > >> > > -- > >> > > madhu kk > >> > > > >> > > >> > >> > >> > >> -- > >> madhu kk > >> > > > > -- > madhu kk >
Re: CSRF
I figured it out. Took a lot of googling and reading blogs, but I got it to work. Thanks for your help On Wed, Jun 19, 2013 at 11:22 AM, Madhu Sekhar wrote: > Then Did you Write a RegEx to Correlate in the script? if not Please do it. > > Thanks, > Madhu > > > > On Wed, Jun 19, 2013 at 8:49 PM, nmq wrote: > > > Yes, it changes. > > > > > > On Wed, Jun 19, 2013 at 11:02 AM, Madhu Sekhar > >wrote: > > > > > Does the below value in the script change for every session/login? > > > > > > 'f3e8822f-3b26- > > > 48fd-b1ff-6c80742fe28f > > > > > > Thanks, > > > Madhu > > > > > > > > > On Wed, Jun 19, 2013 at 8:22 PM, nmq wrote: > > > > > > > Hi All > > > > > > > > I've run into an issue. Our development team made some changes > > yesterday > > > > and today I'm getting an error "Error 401--Unauthorized" response for > > an > > > > HTTP request. > > > > > > > > I examined the responses in Fiddler and I noticed this in the head > tag. > > > > > > > > > > > > $.setCSRFNonce('f3e8822f-3b26-48fd-b1ff-6c80742fe28f'); > > > > > > > > > > > > I did some research on what CSRF is and found all kind of info on > > > Django. > > > > Also found a blog saying cookie manager should be able to handle this > > > > authentication, by combining two elements by setting the > > save.cookie > > > > property in jmeter to true and to reference the CSRF token in an HTTP > > > > request. > > > > > > > > I've tried this solution and it doesn't seem to work. I'm still > getting > > > the > > > > error. > > > > > > > > I've also been reading django documentation and trying to make sense > of > > > it > > > > all. I would appreciate it if someone can help out and explain in > > simple > > > > terms (I'm not a programmer) exactly how do I go about solving this > > > issue. > > > > > > > > Any guidance would be highly appreciated. > > > > > > > > Thank you > > > > Sam > > > > > > > > > > > > > > > > -- > > > madhu kk > > > > > > > > > -- > madhu kk >
Re: CSRF
Yes, it changes. On Wed, Jun 19, 2013 at 11:02 AM, Madhu Sekhar wrote: > Does the below value in the script change for every session/login? > > 'f3e8822f-3b26- > 48fd-b1ff-6c80742fe28f > > Thanks, > Madhu > > > On Wed, Jun 19, 2013 at 8:22 PM, nmq wrote: > > > Hi All > > > > I've run into an issue. Our development team made some changes yesterday > > and today I'm getting an error "Error 401--Unauthorized" response for an > > HTTP request. > > > > I examined the responses in Fiddler and I noticed this in the head tag. > > > > > > $.setCSRFNonce('f3e8822f-3b26-48fd-b1ff-6c80742fe28f'); > > > > > > I did some research on what CSRF is and found all kind of info on > Django. > > Also found a blog saying cookie manager should be able to handle this > > authentication, by combining two elements by setting the save.cookie > > property in jmeter to true and to reference the CSRF token in an HTTP > > request. > > > > I've tried this solution and it doesn't seem to work. I'm still getting > the > > error. > > > > I've also been reading django documentation and trying to make sense of > it > > all. I would appreciate it if someone can help out and explain in simple > > terms (I'm not a programmer) exactly how do I go about solving this > issue. > > > > Any guidance would be highly appreciated. > > > > Thank you > > Sam > > > > > > -- > madhu kk >
CSRF
Hi All I've run into an issue. Our development team made some changes yesterday and today I'm getting an error "Error 401--Unauthorized" response for an HTTP request. I examined the responses in Fiddler and I noticed this in the head tag. $.setCSRFNonce('f3e8822f-3b26-48fd-b1ff-6c80742fe28f'); I did some research on what CSRF is and found all kind of info on Django. Also found a blog saying cookie manager should be able to handle this authentication, by combining two elements by setting the save.cookie property in jmeter to true and to reference the CSRF token in an HTTP request. I've tried this solution and it doesn't seem to work. I'm still getting the error. I've also been reading django documentation and trying to make sense of it all. I would appreciate it if someone can help out and explain in simple terms (I'm not a programmer) exactly how do I go about solving this issue. Any guidance would be highly appreciated. Thank you Sam
Re: Login failed - javascript
FYI! Deepak was correct. There's also a cookie being set. I just used the script generated by BadBoy and it recorded the HTTP request with a cookie value which is of course a static value. So now I need to extract the cookie value using a regular expression and then use it. I'm going to try and figure out how to do this. Thanks Sam On Wed, Jun 12, 2013 at 8:29 AM, nmq wrote: > Thanks guys. > > I was able to log in finally. Tried a lot of stuff, but what worked was > unchecking "redirect automatically" on the HTTP samplers. I would like to > figure out why unchecking "redirect automatically" made a difference. > Insights? Opinions? > > Thanks > Sam > > > On Tue, Jun 11, 2013 at 11:57 PM, Robin D. Wilson wrote: > >> By the way, this is where recording a login using the HTTP Proxy Recorder >> would help up you figure this problem out. >> >> -- >> Robin D. Wilson >> VOICE: 512-777-1861 >> >> >> >> On Jun 11, 2013, at 10:54 PM, "Robin D. Wilson" >> wrote: >> >> It appears to me that the way this works is to hide/unhide some elements >> on the page using JavaScript. The way that would work is to hide an element >> that says "you must enable JavaScript" and unhide an element that has the >> login form on it. >> >> If that is the case, then you can just ignore the "you must enable >> JavaScript" warning, and just submit the form anyway. The server has no way >> to know whether the browser hid/un-hid anything, so if you submit the login >> form it will assume you saw the login form. >> >> When you are looking in the tree listener, are you looking at the "text" >> of the response, or are you looking at the rendered HTML? You really need >> to look at the "text" since that's what JMeter actually sees. It may be a >> "red herring" to assume that the JavaScript warning makes a difference >> since you are looking at the response in a tool (the Tree Listener) that >> doesn't execute the JavaScript, and never will. >> >> -- >> Robin D. Wilson >> VOICE: 512-777-1861 >> >> >> >> On Jun 11, 2013, at 9:41 PM, nmq wrote: >> >> Take a look at this code snippet I found for the login page. >> >> >> // activate login feature if script is activated and browser is supported >> if ($.browser.msie && $.browser.version < 8) { >> $('#browser-redirection').css('display', ''); >> } else { >> $('.script-checking').css('display', ''); >> $('#warnings').css('display', 'none'); >> } >> >> >> So my understanding is that the login feature is not getting activated at >> all as JMeter does not run javascript. >> Is that correct? >> Is there any way for me to simulate a user logging in with this situation? >> >> >> >> >> >> On Tue, Jun 11, 2013 at 5:10 PM, Deepak Shetty wrote: >> >> >> . If the recorded requests have the same problems as your test plan >> did, >> > which is fairly common when you have dynamic data and is not a good >> > indicator. >> > >> > >> > >> > On Tue, Jun 11, 2013 at 1:52 PM, Robin D. Wilson >> > wrote: >> > >> >> If you use the Proxy setup, you can then just 'replay' the previous >> >> requests and see if they have the same problem as you were >> >> having. Basically, disable your test requests, and copy/paste the ones >> >> from the Proxy recording in their place. Run the test using >> >> the recorded requests, and watch the Tree Listener for the responses >> from >> >> the server. If the recorded requests have the same >> >> problems as your test plan did, then you will definitely need to >> discuss >> >> with your developers (maybe it's just a bug in their >> >> code?). If the recorded proxy script works normally, then you have a >> >> problem in your JMeter test plan setup - and you can use the >> >> proxy requests to figure out what is missing from your test plan. >> >> >> >> -- >> >> Robin D. Wilson >> >> Sr. Director of Web Development >> >> KingsIsle Entertainment, Inc. >> >> VOICE: 512-777-1861 >> >> http://www.kingsisle.com >> >> >> >> >> >> -Original Message- >> >> From: nmq [mailto:nmq0...@gmail.com] >> >> Sent:
Re: Login failed - javascript
Thanks guys. I was able to log in finally. Tried a lot of stuff, but what worked was unchecking "redirect automatically" on the HTTP samplers. I would like to figure out why unchecking "redirect automatically" made a difference. Insights? Opinions? Thanks Sam On Tue, Jun 11, 2013 at 11:57 PM, Robin D. Wilson wrote: > By the way, this is where recording a login using the HTTP Proxy Recorder > would help up you figure this problem out. > > -- > Robin D. Wilson > VOICE: 512-777-1861 > > > > On Jun 11, 2013, at 10:54 PM, "Robin D. Wilson" > wrote: > > It appears to me that the way this works is to hide/unhide some elements > on the page using JavaScript. The way that would work is to hide an element > that says "you must enable JavaScript" and unhide an element that has the > login form on it. > > If that is the case, then you can just ignore the "you must enable > JavaScript" warning, and just submit the form anyway. The server has no way > to know whether the browser hid/un-hid anything, so if you submit the login > form it will assume you saw the login form. > > When you are looking in the tree listener, are you looking at the "text" > of the response, or are you looking at the rendered HTML? You really need > to look at the "text" since that's what JMeter actually sees. It may be a > "red herring" to assume that the JavaScript warning makes a difference > since you are looking at the response in a tool (the Tree Listener) that > doesn't execute the JavaScript, and never will. > > -- > Robin D. Wilson > VOICE: 512-777-1861 > > > > On Jun 11, 2013, at 9:41 PM, nmq wrote: > > Take a look at this code snippet I found for the login page. > > > // activate login feature if script is activated and browser is supported > if ($.browser.msie && $.browser.version < 8) { > $('#browser-redirection').css('display', ''); > } else { > $('.script-checking').css('display', ''); > $('#warnings').css('display', 'none'); > } > > > So my understanding is that the login feature is not getting activated at > all as JMeter does not run javascript. > Is that correct? > Is there any way for me to simulate a user logging in with this situation? > > > > > > On Tue, Jun 11, 2013 at 5:10 PM, Deepak Shetty wrote: > > >> . If the recorded requests have the same problems as your test plan did, > > which is fairly common when you have dynamic data and is not a good > > indicator. > > > > > > > > On Tue, Jun 11, 2013 at 1:52 PM, Robin D. Wilson > > wrote: > > > >> If you use the Proxy setup, you can then just 'replay' the previous > >> requests and see if they have the same problem as you were > >> having. Basically, disable your test requests, and copy/paste the ones > >> from the Proxy recording in their place. Run the test using > >> the recorded requests, and watch the Tree Listener for the responses > from > >> the server. If the recorded requests have the same > >> problems as your test plan did, then you will definitely need to discuss > >> with your developers (maybe it's just a bug in their > >> code?). If the recorded proxy script works normally, then you have a > >> problem in your JMeter test plan setup - and you can use the > >> proxy requests to figure out what is missing from your test plan. > >> > >> -- > >> Robin D. Wilson > >> Sr. Director of Web Development > >> KingsIsle Entertainment, Inc. > >> VOICE: 512-777-1861 > >> http://www.kingsisle.com > >> > >> > >> -Original Message- > >> From: nmq [mailto:nmq0...@gmail.com] > >> Sent: Tuesday, June 11, 2013 3:31 PM > >> To: JMeter Users List > >> Subject: Re: Login failed - javascript > >> > >> I meant they're encoding the request using javascript. Should I have a > >> talk with the developers? > >> Problem is they're offshore *sigh*. > >> > >> > >> On Tue, Jun 11, 2013 at 4:27 PM, nmq wrote: > >> > >>> Hi Deepak > >>> > >>> Thanks for all that info. I installed fiddler quickly. > >>> > >>> This is what I got in request header: > >>> /UpdateCheck.aspx?isBeta=True HTTP/1.1 which I don't think is > >>> significant OR I could be wrong. Correct me if I am. > >>> It also says "response is encoded and may need to b
Re: Login failed - javascript
Take a look at this code snippet I found for the login page. // activate login feature if script is activated and browser is supported if ($.browser.msie && $.browser.version < 8) { $('#browser-redirection').css('display', ''); } else { $('.script-checking').css('display', ''); $('#warnings').css('display', 'none'); } So my understanding is that the login feature is not getting activated at all as JMeter does not run javascript. Is that correct? Is there any way for me to simulate a user logging in with this situation? On Tue, Jun 11, 2013 at 5:10 PM, Deepak Shetty wrote: > >. If the recorded requests have the same problems as your test plan did, > which is fairly common when you have dynamic data and is not a good > indicator. > > > > On Tue, Jun 11, 2013 at 1:52 PM, Robin D. Wilson > wrote: > > > If you use the Proxy setup, you can then just 'replay' the previous > > requests and see if they have the same problem as you were > > having. Basically, disable your test requests, and copy/paste the ones > > from the Proxy recording in their place. Run the test using > > the recorded requests, and watch the Tree Listener for the responses from > > the server. If the recorded requests have the same > > problems as your test plan did, then you will definitely need to discuss > > with your developers (maybe it's just a bug in their > > code?). If the recorded proxy script works normally, then you have a > > problem in your JMeter test plan setup - and you can use the > > proxy requests to figure out what is missing from your test plan. > > > > -- > > Robin D. Wilson > > Sr. Director of Web Development > > KingsIsle Entertainment, Inc. > > VOICE: 512-777-1861 > > http://www.kingsisle.com > > > > > > -Original Message- > > From: nmq [mailto:nmq0...@gmail.com] > > Sent: Tuesday, June 11, 2013 3:31 PM > > To: JMeter Users List > > Subject: Re: Login failed - javascript > > > > I meant they're encoding the request using javascript. Should I have a > > talk with the developers? > > Problem is they're offshore *sigh*. > > > > > > On Tue, Jun 11, 2013 at 4:27 PM, nmq wrote: > > > > > Hi Deepak > > > > > > Thanks for all that info. I installed fiddler quickly. > > > > > > This is what I got in request header: > > > /UpdateCheck.aspx?isBeta=True HTTP/1.1 which I don't think is > > > significant OR I could be wrong. Correct me if I am. > > > It also says "response is encoded and may need to be decoded before > > > inspection" when I clicked on Inspectors tab. Do you think this might > > > be the problem? They're encoding the password using javascript? If > > > yes, what can I do to bypass this? > > > > > > > > > Hey Robin, I've done all of that. I used a tool called badboy to > > > capture the script, so didn't need to use the proxy. I've tried both > > > Firefox and Chrome strings for the user-agent in HTTP Header Manager. > > > Everything was working fine before they deployed the current build > > yesterday. > > > > > > > > > Regards > > > Sam > > > > > > > > > > > > On Tue, Jun 11, 2013 at 4:18 PM, Robin D. Wilson > >wrote: > > > > > >> First, this isn't really a "limitation" of JMeter, it is an artifact > > >> of the way web sites work. Keep in mind, JMeter is designed to test > > >> the 'server' part of the web system, but web systems include the > > >> 'browser' in the application logic (often times incorporating a lot > > >> of logic in the JavaScript code that runs in the browser, or in other > > >> coding systems such as Flash and Silverlight). You could call that a > > >> 'limitation' of JMeter, but that would be like saying that a chainsaw > > >> is limited because it can't be used as a good hammer. > > >> > > >> There are a couple of ways this is measured, depending on the site in > > >> question. If it is coming from the server, it is probably looking at > > >> a header in the request to figure out if you have JavaScript enabled. > > >> Add an "HTTP Header Manager" element to your test plan, and set a > > >> User-Agent value... > > >> > > >> We use the following User-Agent value: > > >> > >
Re: Login failed - javascript
I meant they're encoding the request using javascript. Should I have a talk with the developers? Problem is they're offshore *sigh*. On Tue, Jun 11, 2013 at 4:27 PM, nmq wrote: > Hi Deepak > > Thanks for all that info. I installed fiddler quickly. > > This is what I got in request header: > /UpdateCheck.aspx?isBeta=True HTTP/1.1 > which I don't think is significant OR I could be wrong. Correct me if I am. > It also says "response is encoded and may need to be decoded before > inspection" when I clicked on Inspectors tab. Do you think this might be > the problem? They're encoding the password using javascript? If yes, what > can I do to bypass this? > > > Hey Robin, I've done all of that. I used a tool called badboy to capture > the script, so didn't need to use the proxy. I've tried both Firefox and > Chrome strings for the user-agent in HTTP Header Manager. Everything was > working fine before they deployed the current build yesterday. > > > Regards > Sam > > > > On Tue, Jun 11, 2013 at 4:18 PM, Robin D. Wilson wrote: > >> First, this isn't really a "limitation" of JMeter, it is an artifact of >> the way web sites work. Keep in mind, JMeter is designed to >> test the 'server' part of the web system, but web systems include the >> 'browser' in the application logic (often times incorporating >> a lot of logic in the JavaScript code that runs in the browser, or in >> other coding systems such as Flash and Silverlight). You could >> call that a 'limitation' of JMeter, but that would be like saying that a >> chainsaw is limited because it can't be used as a good >> hammer. >> >> There are a couple of ways this is measured, depending on the site in >> question. If it is coming from the server, it is probably >> looking at a header in the request to figure out if you have JavaScript >> enabled. Add an "HTTP Header Manager" element to your test >> plan, and set a User-Agent value... >> >> We use the following User-Agent value: >> >> User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; >> WOW64; Trident/5.0) >> >> This essentially tells the server that you are making requests with the >> IE9.0 browser (which supports JavaScript by default). (NOTE: >> we use this because it is still our most popular browser (actually, >> that's not quite true - it is the most common version of the >> most popular browser 'type' (IE)) - for users hitting our sites.) >> >> But if you have a different user population, you might prefer to use >> Chrome or Firefox or Safari as your 'standard test' User-Agent. >> You can look up their User-Agent strings here: >> >> http://www.useragentstring.com/pages/useragentstring.php >> >> If the HTTP Header Manager + User-Agent value configuration doesn't work, >> you will need to figure out how the server is determining >> that the browser supports JavaScript, and mimic that with your test. It >> is usually easier to setup the 'HTTP Proxy Server', and just >> collect a session from your browser than it is to try to figure it out >> manually though. >> >> To setup the proxy and capture a session: >> >> 1) Create a new Test Plan. >> 2) Right-Click on "Workbench" and select: >> >> Add->Non-Test Elements->HTTP Proxy Server >> >> 3) Make sure "Capture HTTP Headers" is checked >> 4) Click "Start" on the HTTP Proxy Server configuration page (at the >> bottom of the page) >> 5) In your browser, set your Proxy Server address to "localhost", and use >> the port specified in your HTTP Proxy Server configuration >> (default is 8080). >> 6) Visit your site, and perform some functions you want in your test. >> >> These should start to record your requests in the test plan, below the >> workbench section. You can click on one of the requests and >> see what the "HTTP Header Manager" looks like, and use that as your >> default HTTP Header Manager for your tests. You can also see >> what sort of interactions are taking place between the browser and the >> server - some of which may be under-the-covers (hidden from >> the user) and allowing the server to figure out whether the site supports >> JavaScript. >> >> -- >> Robin D. Wilson >> Sr. Director of Web Development >> KingsIsle Entertainment, Inc. >> VOICE: 512-777-1861 >> http://www.kingsisle.com >> >> >> -Original M
Re: Login failed - javascript
Hi Deepak Thanks for all that info. I installed fiddler quickly. This is what I got in request header: /UpdateCheck.aspx?isBeta=True HTTP/1.1 which I don't think is significant OR I could be wrong. Correct me if I am. It also says "response is encoded and may need to be decoded before inspection" when I clicked on Inspectors tab. Do you think this might be the problem? They're encoding the password using javascript? If yes, what can I do to bypass this? Hey Robin, I've done all of that. I used a tool called badboy to capture the script, so didn't need to use the proxy. I've tried both Firefox and Chrome strings for the user-agent in HTTP Header Manager. Everything was working fine before they deployed the current build yesterday. Regards Sam On Tue, Jun 11, 2013 at 4:18 PM, Robin D. Wilson wrote: > First, this isn't really a "limitation" of JMeter, it is an artifact of > the way web sites work. Keep in mind, JMeter is designed to > test the 'server' part of the web system, but web systems include the > 'browser' in the application logic (often times incorporating > a lot of logic in the JavaScript code that runs in the browser, or in > other coding systems such as Flash and Silverlight). You could > call that a 'limitation' of JMeter, but that would be like saying that a > chainsaw is limited because it can't be used as a good > hammer. > > There are a couple of ways this is measured, depending on the site in > question. If it is coming from the server, it is probably > looking at a header in the request to figure out if you have JavaScript > enabled. Add an "HTTP Header Manager" element to your test > plan, and set a User-Agent value... > > We use the following User-Agent value: > > User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; > WOW64; Trident/5.0) > > This essentially tells the server that you are making requests with the > IE9.0 browser (which supports JavaScript by default). (NOTE: > we use this because it is still our most popular browser (actually, that's > not quite true - it is the most common version of the > most popular browser 'type' (IE)) - for users hitting our sites.) > > But if you have a different user population, you might prefer to use > Chrome or Firefox or Safari as your 'standard test' User-Agent. > You can look up their User-Agent strings here: > > http://www.useragentstring.com/pages/useragentstring.php > > If the HTTP Header Manager + User-Agent value configuration doesn't work, > you will need to figure out how the server is determining > that the browser supports JavaScript, and mimic that with your test. It is > usually easier to setup the 'HTTP Proxy Server', and just > collect a session from your browser than it is to try to figure it out > manually though. > > To setup the proxy and capture a session: > > 1) Create a new Test Plan. > 2) Right-Click on "Workbench" and select: > > Add->Non-Test Elements->HTTP Proxy Server > > 3) Make sure "Capture HTTP Headers" is checked > 4) Click "Start" on the HTTP Proxy Server configuration page (at the > bottom of the page) > 5) In your browser, set your Proxy Server address to "localhost", and use > the port specified in your HTTP Proxy Server configuration > (default is 8080). > 6) Visit your site, and perform some functions you want in your test. > > These should start to record your requests in the test plan, below the > workbench section. You can click on one of the requests and > see what the "HTTP Header Manager" looks like, and use that as your > default HTTP Header Manager for your tests. You can also see > what sort of interactions are taking place between the browser and the > server - some of which may be under-the-covers (hidden from > the user) and allowing the server to figure out whether the site supports > JavaScript. > > -- > Robin D. Wilson > Sr. Director of Web Development > KingsIsle Entertainment, Inc. > VOICE: 512-777-1861 > http://www.kingsisle.com > > > -Original Message- > From: nmq [mailto:nmq0...@gmail.com] > Sent: Tuesday, June 11, 2013 2:41 PM > To: JMeter Users List > Subject: Login failed - javascript > > Hi everyone > > I have run into an issue running my basic login script for the AUT. It was > working fine till we got a new build this week. > > Now, I have been a functional tester my whole career. My company wanted me > to do some performance test for them and I figured why > the heck not. I'll learn along the way, so basically I'm a newbie in this > area. > > Since JMeter is an ope
Login failed - javascript
Hi everyone I have run into an issue running my basic login script for the AUT. It was working fine till we got a new build this week. Now, I have been a functional tester my whole career. My company wanted me to do some performance test for them and I figured why the heck not. I'll learn along the way, so basically I'm a newbie in this area. Since JMeter is an open-source (translated: free of cost) tool that is supposedly powerful, we decided to use it (stupidly, without finding out its limitations). I've invested quite some time in learning the tool so I'm not ready to give up or switch to another. I'm also not a programmer and don't have much info on java or javascript. Anyways, getting back to the point. I looked at the response in ResultsTree in HTML format and this is the message I'm getting on the Login page: "This website requires JavaScript Please activate JavaScript and press F5" HELP!! Regards Sam
Re: Measuring page load / rendering time
Hi Bo I'll try my best. Not making any promises though. Regards Sam On Mon, Jun 10, 2013 at 12:18 PM, BOLB (Bohdan L Bodnar) wrote: > I've a similar problem, but I think it may be somewhat more complex: > > I'm looking at end-to-end performance of a system where there are two > state machines: one in the server and one in the browser. The browser > displays and manipulates entities, each with a unique ID, and sends > entity-related API commands to the server (in the form of https calls). > The IDs are dynamic; i.e., they change from call-to-call even for the same > entity. Using jmeter to load the server required putting intelligence into > the load generation script to extract these IDs. This was a time-consuming > manual task that was successful and is now saving me a tremendous amount of > time. Instrumenting the browser would be a terrific next step. > > Sam, would you be so kind as to keep us appraised of what you're doing? > > Best regards, > > Bo > > > -Original Message- > From: nmq [mailto:nmq0...@gmail.com] > Sent: Monday, June 10, 2013 7:48 AM > To: JMeter Users List > Subject: Re: Measuring page load / rendering time > > Very useful observations and opinions. I'm going to get more details on > how the page is being rendered and hopefully will be able to start > somewhere. > Thank you > > Regards > Sam > > > On Sat, Jun 8, 2013 at 6:24 AM, Shmuel Krakower > wrote: > > > Hi > > I am not sure you really need the page rendering time in your case. > > If you think you need it as part of the load tests, this is because > > you think that the dynamic load of next 100 items is related somehow > > with the rendering time. > > > > In fact, you can measure loading times of the main page and interact > > with the relevant AJAX call to get the next 100 items and so on. > > So if you build up your load test to interact with those two services > > (main page and web service which gets X amount of items) you can load > > your system properly and get some figures. > > > > As Adrian wrote, measuring rendering times may diverse and currently > > no good technology to cover this with load tests. > > > > Shmuel Krakower. > > www.Beatsoo.org - re-use your jmeter scripts for application > > performance monitoring from worldwide locations for free. > > > > > > On Sat, Jun 8, 2013 at 12:13 AM, Shay Ginsbourg > >wrote: > > > > > Note this new sampler: > > > > > > "Web Driver Sampler automates the execution and collection of > > > Performance metrics on the Browser (client-side). > > > A large part of performance testing, up to this point, has been on > > > the server side of things. > > > However, with the advancement of technology, HTML5, JS and CSS > > > improvements, more and more logic and behavior have been pushed down > > > to the client. > > > This adds to the overall perceived performance of website/webapp, > > > but this metric is not available in JMeter." > > > > > > See: > > > https://code.google.com/p/jmeter-plugins/wiki/WebDriverTutorial > > > > > > That might add a missing feature highly requested. > > > > > > -SG > > > > > > > > > > > > > > > On Fri, Jun 7, 2013 at 4:46 PM, Adrian Speteanu > > > > > > wrote: > > > > > > > > Hi, > > > > > > > > I have a different approach to this. But there's a lot of > > > > background to it, which can't be covered answering a specific > > > > question (how to measure > > X), > > > > all of it resumes to: you should not look for shortcuts and > > > > instead > > > should > > > > do things the right way. Measuring rendering times is the complete > > > > opposite of doing things that way. Its a dead-end, because it is > > > > too hard to > > track > > > > and fully cover. Are you going to test on a large enough number of > > > > PC/Mac/Linux hardware configurations in conjunction with a large > > > > number > > > of > > > > software versions (OS, browsers, other plugins that might affect > > > > rendering)? Is your test matrix going to be comprehensive enough? > > Usually > > > > its not. > > > > > > > > The approach to front-end should be different because UI has > > > > different specific problems. I use YSlow!, a plugin for Firebug > > > > that works on Fire
Re: Measuring page load / rendering time
Very useful observations and opinions. I'm going to get more details on how the page is being rendered and hopefully will be able to start somewhere. Thank you Regards Sam On Sat, Jun 8, 2013 at 6:24 AM, Shmuel Krakower wrote: > Hi > I am not sure you really need the page rendering time in your case. > If you think you need it as part of the load tests, this is because you > think that the dynamic load of next 100 items is related somehow with the > rendering time. > > In fact, you can measure loading times of the main page and interact with > the relevant AJAX call to get the next 100 items and so on. > So if you build up your load test to interact with those two services (main > page and web service which gets X amount of items) you can load your system > properly and get some figures. > > As Adrian wrote, measuring rendering times may diverse and currently no > good technology to cover this with load tests. > > Shmuel Krakower. > www.Beatsoo.org - re-use your jmeter scripts for application performance > monitoring from worldwide locations for free. > > > On Sat, Jun 8, 2013 at 12:13 AM, Shay Ginsbourg >wrote: > > > Note this new sampler: > > > > "Web Driver Sampler automates the execution and collection of > > Performance metrics on the Browser (client-side). > > A large part of performance testing, up to this point, has been on the > > server side of things. > > However, with the advancement of technology, HTML5, JS and CSS > > improvements, more and more logic > > and behavior have been pushed down to the client. > > This adds to the overall perceived performance of website/webapp, but > > this metric is not available in JMeter." > > > > See: https://code.google.com/p/jmeter-plugins/wiki/WebDriverTutorial > > > > That might add a missing feature highly requested. > > > > -SG > > > > > > > > > > On Fri, Jun 7, 2013 at 4:46 PM, Adrian Speteanu > > wrote: > > > > > > Hi, > > > > > > I have a different approach to this. But there's a lot of background to > > > it, > > > which can't be covered answering a specific question (how to measure > X), > > > all of it resumes to: you should not look for shortcuts and instead > > should > > > do things the right way. Measuring rendering times is the complete > > > opposite > > > of doing things that way. Its a dead-end, because it is too hard to > track > > > and fully cover. Are you going to test on a large enough number of > > > PC/Mac/Linux hardware configurations in conjunction with a large number > > of > > > software versions (OS, browsers, other plugins that might affect > > > rendering)? Is your test matrix going to be comprehensive enough? > Usually > > > its not. > > > > > > The approach to front-end should be different because UI has different > > > specific problems. I use YSlow!, a plugin for Firebug that works on > > > Firefox. It shows "missing optimisations", and gives a good starting > > point > > > for a development team to obtain the best rendering time for their > > > project. > > > With JMeter, you create the load on the server side and with one > desktop > > > machine, you evaluate what will be the most probable user experience > > > during > > > high traffic and then improve that. Its the best thing you can do, and > > the > > > only honest approach to this problem. You can still make measurement > > > taking > > > several samples from tools like Firebug, Chrome's dev tools and so on, > > but > > > what's the point? Are you trying to benchmark the renderer or your > server > > > application? If its the second, there are more questions you ask. > > > > > > Regards, > > > Adrian S > > > > > > > > > > > > > > > On Thu, Jun 6, 2013 at 3:28 PM, nmq wrote: > > > > > > > Hi everyone > > > > > > > > I have been told that JMeter does not measure page load or rendering > > > > time. > > > > Does anyone know of a roundabout way of making approximations using > > > > JMeter, > > > > which would be fairly close to actual times. > > > > > > > > Or if anyone knows of a better tool that can be used to achieve this? > > > > > > > > The AUT is a secured web portal giving access to a limited number of > > > > users > > > > and is document intensive. I need to
Measuring page load / rendering time
Hi everyone I have been told that JMeter does not measure page load or rendering time. Does anyone know of a roundabout way of making approximations using JMeter, which would be fairly close to actual times. Or if anyone knows of a better tool that can be used to achieve this? The AUT is a secured web portal giving access to a limited number of users and is document intensive. I need to measure the page load time of the Documents page which displays the first 100 documents and as the user scrolls down, renders the next 100 and so forth. Any tips or help for load/performance testing would be appreciated. Thanks Sam