We are proud to announce that we now support running real browser load testing alongside with regular HTTP load testing. We have integrated the JMeter Selenium WebDriver to our platform. It’s now possible to run JMeter load tests as well as Selenium webdriver tests simultaneously. Collect both network metrics like response time and end-use experience metrics like browser load time.
Octoperf removes the pain of load testing your app with Selenium with our Saas integration. We setup and launch properly configured machines for you, with pre-configured latest Firefox web browser.
How it works
The following diagram sums up how Selenium drives any existing web-browser.
Selenium Architecture diagram showing how Selenium works
Selenium can drive several different web browsers (Chrome, Firefox, Safari and more). It launches the web-browser and executes a given selenium script inside, via a browser plugin. This allows Selenium to simulate user interactions like mouse clicks.
We know how difficult it can be to setup a whole load testing infrastructure which mixes both browser-based and HTTP load testing. This is why we integrated Selenium into our Saas load testing tool for hassle-free end-user experience testing.
Create WebDriver Virtual User
Now, you can create a Selenium Web Driver virtual user. By selecting this option, it creates a browser-based virtual user which runs Selenium commands inside a real web-browser (Firefox).
Create a new Selenium Web Driver Virtual User
Edit WebDriver Virtual User
The web driver script can be edited directly into the browser, like regular virtual users with HTTP requests.
Virtual user executing a web-browser to load our homepage
The virtual user above contains the following script:
WDS.sampleResult.sampleStart() WDS.browser.get('https://octoperf.com') WDS.sampleResult.sampleEnd()
The first line indicates to start measuring the elapsed time. WDS is an object instance accessible inside the script which represents the WebDriverSampler. The second line tells the web-browser to open the given location, our website. The last line stops the elapsed time measurement.
Multiple web-browser actions can be run within a single virtual user to simulate realistic workflows.
Validate Virtual User
Virtual user validation works with browser-based virtual users too. It shows the last sent request and response.
Validate Selenium WebDriver Virtual user
Virtual user validation is great to find out issues before launching a massive amount of users.
Mixed Workload scenario
Whenever you need to load test your application or collect end-user experience, we’ve got you covered.
Mixed workload: run JMeter and Selenium load tests simultaneously
Within the same scenario, mix standard HTTP virtual users with Selenium browser-based virtual users. It’s as simple as dropping another user profile inside your scenario. For performance reason, the maximum load which can be generated by browser-based user profiles is capped.
View test result metrics as if it were a regular load test with HTTP requests. We have fully integrated WebDriver metrics into our analysis reporting system.
Browser-based load testing report
The measured elapsed time includes browser rendering time. It’s basically taking into account everything between the WDS.sampleResult.sampleStart() and WDS.sampleResult.sampleEnd() calls.
By supporting both HTTP and browser-based load testing, we fully cover the metrics needed to get an overall picture of your users browsing experience. As usual, we do our best to make load testing easy and fun. We believe that even people without much experience in load testing should be able to run tests at scale within hours.