Element’s novel browser-based approach makes it easy to load test apps that were previously extremely difficult to test using network requests. For example, modern apps that run complicated business logic in the browser or which use session tokens and other identifiers which you must correlate in each request.
By steering the page in a real browser, you have complete control of the page, and the user journey, which from a load testing perspective, makes it easy for you to create realistic load scenarios without the guesswork required for estimating each network endpoint.
Whether it’s load testing a Single Page Application built in React or Angular, an eCommerce website built in Wordpress, or a business application using SAP, testing with Element will ensure you deliver a fast and reliable experience to your customers.
Interacting with a page should be easy to write and maintain, while also being understandable by everyone on your team. We designed Element’s scripting language to be heavily inspired by Selenium to be easy to learn — with changes which significantly improve maintainability and eliminate common automation errors.
Element is built on Google Chrome’s Puppeteer framework for efficient browser automation while removing any boilerplate code you would typically need to handle the browser.
At Flood, we are heavy users and contributors to Open Source projects, and Element is no different. We open-sourced Element from day one and welcome community contributions to craft the perfect tool for your load testing needs.
Using Element’s declarative scripting language, you can interact with any UI element, including complicated custom HTML controls, tables, frames, inputs, forms, and menus, and even perform drag and drop, and file uploads. All within a load test!
Delivering a fast and reliable experience in modern applications goes beyond just improving network performance. It’s critical to measure the load, render, and interaction times on the browser to understand how network contention affects the real user experience.
Load testing is all about putting demand on a system and observing for common performance traits. When running Element on Flood, you get the same first-class load testing experience we provide with all our tools, including real-time performance and transaction monitoring.
When testing your application under load, you’ll inevitably experience changes the UI, for example, as inventory runs out, tickets are sold, of your application starts showing error messages. We capture these changes in full resolution screenshots so that you can quickly identify the problem and make your application more resilient.
Because we’re running a full browser for each user, when something important happens, such as a failed network request, we’re able to capture it in complete detail and display it to you in real-time.
Different applications have different definitions of how you want to measure time. With Element, you can choose between measuring the total transaction time as experienced by a real user, or only measure the time each subsequent network request takes, giving you similar results to traditional load testing tools.
Running Element scripts on Flood with our highly-scalable Grid infrastructure, allows you to quickly launch thousands of Element Virtual Users at the press of a button, and without any manual server orchestration, even through your own AWS or Azure account, or on-premise using Flood Agent.
Selenium is a wildly popular tool for functional testing and had a strong influence on the design of Element, making it easy to bring Selenium scripts to Element and making Element familiar to anyone who has written Selenium scripts before.