sarf13 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All


I need quick suggestion on usage of Perl for web application load testing. Like which all module I can use for load testing. For example suppose I have to test a login time of single user and multiple users.

Appreciate for your response.

Replies are listed 'Best First'.
Re: Perl usage for testing
by davido (Cardinal) on Jun 11, 2013 at 18:15 UTC

    Mojolicious comes with Mojo::UserAgent, which is a non-blocking I/O HTTP and WebSocket user agent. It comes with Test::Mojo, which is a test driven development toolkit for web applications. And it comes with Mojo::IOLoop, which is a minimalistic event loop with support for multiple reactor backends. Put those together along with Mojo::DOM, a minimalistic HTML/XML DOM parser with CSS selector support, and you've got a fairly complete and coherent tool kit for web application testing.

    The whole thing installs in about a minute, and has no non-core dependencies. Additional documentation, examples, and webcasts are available at http://mojolicio.us. Do watch the Mojo::UserAgent screencast.

    With those tools you should be able to build a suite of tests that (thanks to the IOLoop and the non-blocking user agent) load test with multiple login requrests, for example.

    Yes, those module descriptions were copied and pasted. ;)


    Dave

      Hi Dave, Really appreciate for your quick response. Can you give one example for capture time elapse on simple login system for single and multiple users? Thanks

        I don't seem to have one handy. ;) Have you watched the screencast I linked to yet? This isn't a ready-made solution; it's a set of tools that you as a programmer can use to build your specific application.

        The screencast is good. So is the Mojo::UserAgent documentation. Its SYNOPSIS section shows a brief demonstration of non-blocking UserAgent requests, which it what you will need if you're going to load test a login system.


        Dave

Re: Perl usage for testing
by Preceptor (Deacon) on Jun 11, 2013 at 18:16 UTC
    WWW::Mechanize is the module you (probably) want.

    It lets you automate website interaction.