I have timing built into the app using Navigation Timing: http://www.html5rocks.com/en/tutorials/webperformance/basics/
It gets logged in our database. On Wed, Sep 5, 2012 at 2:58 PM, Kurtis Mullins <kurtis.mull...@gmail.com> wrote: > Actually, I take that back. I did some quick reading and found this from > Selenium's FAQ (http://selenium-grid.seleniumhq.org/faq.html) > > " > Selenium Grid is not designed for performance and load testing, but very > efficient web acceptance/functional testing. The main reason for this is > that conducting performance/load testing with real browser is a pretty bad > idea as it is hard/expensive to scale the load and the actual load is very > inconsistent. > > For load/performance testing I would advise using tools like JMeter, Grinder > or httperf. What you can do though, is reuse your selenium tests to record > the use cases you will use for your load testing. If you really want to > conduct load testing with Selenium, check out Browser Mob. > > To simulate 200 concurrent users for instance, you would need 200 concurrent > browsers with a load testing framework based on Selenium Grid. Even if you > use Firefox on Linux (so the most efficient setup) you will probably need at > least 10 machines to generate that kind of load. Quite insane when > JMeter/Grinder/httperf can generate the same kind of load with a single > machine. > > " > > On Wed, Sep 5, 2012 at 2:52 PM, Kurtis Mullins <kurtis.mull...@gmail.com> > wrote: >> >> No problem! Alternatively, you may have some luck with Selenium ... >> although I have no experience here and am not sure if it can be made to >> record times or any other indication of performance. >> http://seleniumhq.org/ >> >> >> On Wed, Sep 5, 2012 at 2:48 PM, Larry Martell <larry.mart...@gmail.com> >> wrote: >>> >>> Thanks Kurtis! >>> >>> >>> On Wed, Sep 5, 2012 at 2:48 PM, Kurtis Mullins <kurtis.mull...@gmail.com> >>> wrote: >>> > Sure, >>> > >>> > To submit a cookie, check this out: >>> > >>> > http://stackoverflow.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request >>> > >>> > To harvest a CSRF Token from a page (for example, as part of a form), >>> > here's >>> > one example solution I found: >>> > >>> > http://stackoverflow.com/questions/3145178/get-contents-of-a-tags-using-python >>> > -- of course you'd want to grab the appropriate HTML Element. >>> > >>> > Here's an example of setting and getting cookies: >>> > >>> > http://stackoverflow.com/questions/5606083/how-to-set-and-retrieve-cookie-in-http-header-in-python >>> > >>> > Here's some docs on the how to make the CSRF System happy: >>> > https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-it-works >>> > >>> > On Wed, Sep 5, 2012 at 2:38 PM, Larry Martell <larry.mart...@gmail.com> >>> > wrote: >>> >> >>> >> I have no idea how that would be done (neither extracting the token >>> >> nor passing it via urllib). I'm googling this, but if you know and >>> >> want to share, that would be great. >>> >> >>> >> On Wed, Sep 5, 2012 at 1:50 PM, Kurtis Mullins >>> >> <kurtis.mull...@gmail.com> >>> >> wrote: >>> >> > Actually, I've got another idea for you. You mentioned you wanted to >>> >> > simply >>> >> > access using urllib. Maybe you could create a small script to >>> >> > extract a >>> >> > CSRF >>> >> > token from the login page, login with a known (test) user, and >>> >> > continue >>> >> > passing and extracting the CSRF token as needed? >>> >> > >>> >> > >>> >> > On Wed, Sep 5, 2012 at 1:06 PM, Larry Martell >>> >> > <larry.mart...@gmail.com> >>> >> > wrote: >>> >> >> >>> >> >> Thanks - but now I'm getting >>> >> >> >>> >> >> NameError: "global name 'get_backends' is not defined" >>> >> >> >>> >> >> >>> >> >> On Wed, Sep 5, 2012 at 12:59 PM, Kurtis Mullins >>> >> >> <kurtis.mull...@gmail.com> wrote: >>> >> >> > Looks like you just need a quick: >>> >> >> > >>> >> >> > from django.contrib.auth.models import User >>> >> >> > >>> >> >> > towards the top :) >>> >> >> > >>> >> >> > >>> >> >> > On Wed, Sep 5, 2012 at 12:57 PM, Larry Martell >>> >> >> > <larry.mart...@gmail.com> >>> >> >> > wrote: >>> >> >> >> >>> >> >> >> On Wed, Sep 5, 2012 at 12:21 PM, anthony tresontani >>> >> >> >> <dev.tresont...@gmail.com> wrote: >>> >> >> >> > We are using a middleware to enforce a user login: >>> >> >> >> > >>> >> >> >> > class AutoAuthMiddleware(object): >>> >> >> >> > """ >>> >> >> >> > Middleware for testing purpose only. >>> >> >> >> > Can enforce the user login. >>> >> >> >> > """ >>> >> >> >> > >>> >> >> >> > def process_request(self, request): >>> >> >> >> > enforce_user = request.GET.get("enforce_user", None) >>> >> >> >> > if hasattr(request, "user") and not enforce_user: >>> >> >> >> > return >>> >> >> >> > >>> >> >> >> > user = User.objects.filter(username = enforce_user) >>> >> >> >> >>> >> >> >> >>> >> >> >> I'm getting: 'NameError: "global name 'User' is not defined"' on >>> >> >> >> the >>> >> >> >> above line. This is the same issue I was running into when I was >>> >> >> >> trying to hard code the initialization of a request.user object. >>> >> >> >> Where >>> >> >> >> is that defined? >>> >> >> >> >>> >> >> >> >>> >> >> >> > if user: >>> >> >> >> > backend = get_backends()[0] >>> >> >> >> > user = user[0] >>> >> >> >> > user.backend = "%s.%s" % (backend.__module__, >>> >> >> >> > backend.__class__.__name__) #fake authentication >>> >> >> >> > login(request, user) >>> >> >> >> > >>> >> >> >> > You can add that to your testing environnement >>> >> >> >> > MIDDLEWARE_CLASSES. >>> >> >> >> > >>> >> >> >> > Then you can just go to any url and add >>> >> >> >> > ?enforce_user=<username> >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > On 05/09/12 17:56, Larry Martell wrote: >>> >> >> >> > >>> >> >> >> > On Wed, Sep 5, 2012 at 9:36 AM, Kurtis Mullins >>> >> >> >> > <kurtis.mull...@gmail.com> >>> >> >> >> > wrote: >>> >> >> >> > >>> >> >> >> > I don't see why not. >>> >> >> >> > >>> >> >> >> > I've been trying to do that, but it's still complaining. >>> >> >> >> > >>> >> >> >> > Are you running unit tests (testing scripts) or are you >>> >> >> >> > just using the browser for testing? >>> >> >> >> > >>> >> >> >> > I'm trying to do performance measuring. I have a list of all >>> >> >> >> > the >>> >> >> >> > urls >>> >> >> >> > accessed over the past few months by a client, along with >>> >> >> >> > metrics >>> >> >> >> > on >>> >> >> >> > their execution times. I want to run all those on a new server >>> >> >> >> > we've >>> >> >> >> > set up and collect metrics and compare them. I have a python >>> >> >> >> > script >>> >> >> >> > that uses urllib2 but, I can't run anything without logging >>> >> >> >> > in. >>> >> >> >> > I've >>> >> >> >> > tried to login from python, but I get a 403. I also tried >>> >> >> >> > using >>> >> >> >> > the >>> >> >> >> > requests module - that doesn't give me the 403, but doesn't >>> >> >> >> > log me >>> >> >> >> > in >>> >> >> >> > - it just returns the login page as if the login failed. >>> >> >> >> > >>> >> >> >> > On Wed, Sep 5, 2012 at 11:24 AM, Larry Martell >>> >> >> >> > <larry.mart...@gmail.com> >>> >> >> >> > wrote: >>> >> >> >> > >>> >> >> >> > On Wed, Sep 5, 2012 at 9:22 AM, Kurtis Mullins >>> >> >> >> > <kurtis.mull...@gmail.com> >>> >> >> >> > wrote: >>> >> >> >> > >>> >> >> >> > If any of your templates/views depend upon a request.user >>> >> >> >> > object, >>> >> >> >> > you'll >>> >> >> >> > run >>> >> >> >> > into issues because that will not exist without "logging in". >>> >> >> >> > I'm >>> >> >> >> > not >>> >> >> >> > sure >>> >> >> >> > of a good way around this off-hand without knowing more about >>> >> >> >> > your >>> >> >> >> > site. >>> >> >> >> > Sorry! >>> >> >> >> > >>> >> >> >> > Yes, they do depend on a request.user object. Can I hard code >>> >> >> >> > the >>> >> >> >> > initialization of it? >>> >> >> >> > >>> >> >> >> > On Wed, Sep 5, 2012 at 11:18 AM, Larry Martell >>> >> >> >> > <larry.mart...@gmail.com> >>> >> >> >> > wrote: >>> >> >> >> > >>> >> >> >> > We have a django app that requires the users to login. For >>> >> >> >> > some >>> >> >> >> > testing we want to do, we want to disable this so the app can >>> >> >> >> > be >>> >> >> >> > run >>> >> >> >> > without logging in. Is there some way to easily do this? I've >>> >> >> >> > tried >>> >> >> >> > commenting out all the @login_required decorations, but then I >>> >> >> >> > was >>> >> >> >> > getting a 403. I tried commenting out the 'if not >>> >> >> >> > controller.has_access' lines, but then I was getting >>> >> >> >> > 'Report.owner" >>> >> >> >> > must be a "User" instance.' Before I hack up the code any >>> >> >> >> > more, is >>> >> >> >> > there some way to just globally disable the need to login? >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > You received this message because you are subscribed to the >>> >> >> >> > Google >>> >> >> >> > Groups >>> >> >> >> > "Django users" group. >>> >> >> >> > To post to this group, send email to >>> >> >> >> > django-users@googlegroups.com. >>> >> >> >> > To unsubscribe from this group, send email to >>> >> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> >> > For more options, visit this group at >>> >> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > You received this message because you are subscribed to the >>> >> >> >> > Google >>> >> >> >> > Groups >>> >> >> >> > "Django users" group. >>> >> >> >> > To post to this group, send email to >>> >> >> >> > django-users@googlegroups.com. >>> >> >> >> > To unsubscribe from this group, send email to >>> >> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> >> > For more options, visit this group at >>> >> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > You received this message because you are subscribed to the >>> >> >> >> > Google >>> >> >> >> > Groups >>> >> >> >> > "Django users" group. >>> >> >> >> > To post to this group, send email to >>> >> >> >> > django-users@googlegroups.com. >>> >> >> >> > To unsubscribe from this group, send email to >>> >> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> >> > For more options, visit this group at >>> >> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > You received this message because you are subscribed to the >>> >> >> >> > Google >>> >> >> >> > Groups >>> >> >> >> > "Django users" group. >>> >> >> >> > To post to this group, send email to >>> >> >> >> > django-users@googlegroups.com. >>> >> >> >> > To unsubscribe from this group, send email to >>> >> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> >> > For more options, visit this group at >>> >> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > You received this message because you are subscribed to the >>> >> >> >> > Google >>> >> >> >> > Groups >>> >> >> >> > "Django users" group. >>> >> >> >> > To post to this group, send email to >>> >> >> >> > django-users@googlegroups.com. >>> >> >> >> > To unsubscribe from this group, send email to >>> >> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> >> > For more options, visit this group at >>> >> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >> >>> >> >> >> -- >>> >> >> >> You received this message because you are subscribed to the >>> >> >> >> Google >>> >> >> >> Groups >>> >> >> >> "Django users" group. >>> >> >> >> To post to this group, send email to >>> >> >> >> django-users@googlegroups.com. >>> >> >> >> To unsubscribe from this group, send email to >>> >> >> >> django-users+unsubscr...@googlegroups.com. >>> >> >> >> For more options, visit this group at >>> >> >> >> http://groups.google.com/group/django-users?hl=en. >>> >> >> >> >>> >> >> > >>> >> >> > -- >>> >> >> > You received this message because you are subscribed to the >>> >> >> > Google >>> >> >> > Groups >>> >> >> > "Django users" group. >>> >> >> > To post to this group, send email to >>> >> >> > django-users@googlegroups.com. >>> >> >> > To unsubscribe from this group, send email to >>> >> >> > django-users+unsubscr...@googlegroups.com. >>> >> >> > For more options, visit this group at >>> >> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >> >>> >> >> -- >>> >> >> You received this message because you are subscribed to the Google >>> >> >> Groups >>> >> >> "Django users" group. >>> >> >> To post to this group, send email to django-users@googlegroups.com. >>> >> >> To unsubscribe from this group, send email to >>> >> >> django-users+unsubscr...@googlegroups.com. >>> >> >> For more options, visit this group at >>> >> >> http://groups.google.com/group/django-users?hl=en. >>> >> >> >>> >> > >>> >> > -- >>> >> > You received this message because you are subscribed to the Google >>> >> > Groups >>> >> > "Django users" group. >>> >> > To post to this group, send email to django-users@googlegroups.com. >>> >> > To unsubscribe from this group, send email to >>> >> > django-users+unsubscr...@googlegroups.com. >>> >> > For more options, visit this group at >>> >> > http://groups.google.com/group/django-users?hl=en. >>> >> >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> >> Groups >>> >> "Django users" group. >>> >> To post to this group, send email to django-users@googlegroups.com. >>> >> To unsubscribe from this group, send email to >>> >> django-users+unsubscr...@googlegroups.com. >>> >> For more options, visit this group at >>> >> http://groups.google.com/group/django-users?hl=en. >>> >> >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups >>> > "Django users" group. >>> > To post to this group, send email to django-users@googlegroups.com. >>> > To unsubscribe from this group, send email to >>> > django-users+unsubscr...@googlegroups.com. >>> > For more options, visit this group at >>> > http://groups.google.com/group/django-users?hl=en. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Django users" group. >>> To post to this group, send email to django-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> django-users+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/django-users?hl=en. >>> >> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.