All Projects → flood-io → Element

flood-io / Element

Licence: apache-2.0
💦Load test your app using real web browsers

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Element

Awesome K6
A curated list of resources on automated load- and performance testing using k6 🗻
Stars: ✭ 78 (-61.76%)
Mutual labels:  performance-monitoring, performance-testing, load-testing, test-automation
Cdp4j
cdp4j - Chrome DevTools Protocol for Java
Stars: ✭ 232 (+13.73%)
Mutual labels:  automation, test-automation, webdriver, chrome
Frontendwingman
Frontend Wingman, Learn frontend faster!
Stars: ✭ 315 (+54.41%)
Mutual labels:  performance-monitoring, devtools, chrome
Undetected Chromedriver
Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)
Stars: ✭ 365 (+78.92%)
Mutual labels:  automation, webdriver, chrome
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+2594.61%)
Mutual labels:  load-testing, test-automation, webdriver
karate
Test Automation Made Simple
Stars: ✭ 6,384 (+3029.41%)
Mutual labels:  webdriver, load-testing, test-automation
XLT
XLT is an comprehensive load and performance test tool developed and maintained by Xceptance.
Stars: ✭ 39 (-80.88%)
Mutual labels:  load-testing, test-automation, performance-testing
Whole Foods Delivery Slot
Automated script for Whole Foods and Amazon Fresh delivery slot
Stars: ✭ 460 (+125.49%)
Mutual labels:  automation, webdriver, chrome
Awesome Test Automation
A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by http://sdclabs.com
Stars: ✭ 4,712 (+2209.8%)
Mutual labels:  performance-testing, load-testing, test-automation
Webdriverio
Next-gen browser and mobile automation test framework for Node.js
Stars: ✭ 7,214 (+3436.27%)
Mutual labels:  automation, devtools, webdriver
Puppeteer Webperf
Automating Web Performance testing with Puppeteer 🎪
Stars: ✭ 1,392 (+582.35%)
Mutual labels:  devtools, chrome, puppeteer
Marionette
Selenium alternative for Crystal. Browser manipulation without the Java overhead.
Stars: ✭ 119 (-41.67%)
Mutual labels:  devtools, webdriver, puppeteer
Puppeteer Extra
💯 Teach puppeteer new tricks through plugins.
Stars: ✭ 3,397 (+1565.2%)
Mutual labels:  automation, chrome, puppeteer
page-modeller
⚙️ Browser DevTools extension for modelling web pages for automation.
Stars: ✭ 66 (-67.65%)
Mutual labels:  webdriver, test-automation, puppeteer
Puppeteer Api Zh cn
📖 Puppeteer中文文档(官方指定的中文文档)
Stars: ✭ 697 (+241.67%)
Mutual labels:  automation, chrome, puppeteer
Automation Arsenal
Curated list of popular Java and Kotlin frameworks, libraries and tools related to software testing, quality assurance and adjacent processes automation.
Stars: ✭ 105 (-48.53%)
Mutual labels:  automation, test-automation, webdriver
Foot traffic
Pure Ruby DSL for Chrome scripting based on Ferrum. No Selenium required. Works from any script. Simulate web app usage scenarios in production or locally.
Stars: ✭ 123 (-39.71%)
Mutual labels:  automation, load-testing, chrome
Nim
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools.
Stars: ✭ 168 (-17.65%)
Mutual labels:  devtools, chrome
Hargo
Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.
Stars: ✭ 164 (-19.61%)
Mutual labels:  performance-testing, load-testing
Puppeteer Recorder
Record animations using puppeteer. Based on electron-recorder.
Stars: ✭ 169 (-17.16%)
Mutual labels:  chrome, puppeteer

Flood Element


Flood Element is a browser based load generation tool built on top of Puppeteer. It provides an easy to use set of commands for automating most user interfaces, including mouse actions such as click and drag, keyboard key press actions, and working with inputs, buttons, and menus.

Element is designed purely to generate load by simulating real user behaviour within a browser. It does not attempt to manipulate the page or work with any specific front-end framework, although it works great for testing SPAs built in React, Angular, Ember, or any other JS heavy client framework.

The goals of Element scripts are to be:

  • Understandable
  • Easy to write and maintain
  • Declarative for expressing user actions

Scaling up Element tests is easy on Flood, by launching hundreds or even thousands of instances of Google Chrome, and running the scripts you write to drive a load test. We call this Browser Level Load Testing.

Quickstart

1. Install Element

Install using NPM:

First, make sure you have installed the latest version of NodeJS for your platform.

Stable release

# Using yarn
yarn global add element-cli

# Using npm
npm i -g element-cli

# Verify installation
element --version

Beta release

# Using yarn
yarn global add [email protected]

# Using npm
npm i -g [email protected]

# Verify installation
element --version

Canary release

# Using yarn
yarn global add [email protected]

# Using npm
npm i -g [email protected]

# Verify installation
element --version

Canary release

# Using yarn
yarn global add [email protected]

# Using npm
npm i -g [email protected]

# Verify install
element --version

2. Initialize Your Project

Using the element command, you can generate a new project or generate a test within your existing project.

Generate a new project

element init ./my-element-project

This will create a new project an test.ts file with a single step stubbed out for you.

Or, generate a new file

element generate load-test-dashboard

This will create a new file with a single step stubbed out for you.

3. Write and Validate Your Script

Edit test.ts in your editor of choice. To learn more about the scripting capabilities we've put together a detailed tutorial on testing the "Flood Merchandise Store".

As you're writing your script, you can validate it by running it locally using element run:

element run test.ts

This will run the script in an instance of Chrome and output the results locally.

For details of the available options see the element run guide.

4. Run a real Load Test on Flood

Now that you have a test script, upload it to Flood as a new Stream and launch a Flood (a test).

Since Element version 1.3, you can launch a flood directly from Element CLI

About

Over the years, countless customers have mentioned that getting started with Load Testing is a daunting task. That's why it's often left until the last minute before launch. At Flood, it's our mission to make Load Testing less daunting and accessible to everyone. We want to give developers and testers an easy way to ensure that whatever part of the system they're responsible for meets expectations for both functionality and performance.

What can I do with it?

  • Flood Element can be used to apply load to any web accessible application and measure how it performs as the load is ramped up.
  • Measure performance regressions after deploys by integrating it with your CI/CD pipeline.
  • Measure your application's response time from different regions as experienced by your customers.
  • Create realistic load scenarios which stress test your network infrastructure without developing complex protocol level load test scripts.

Do more with Element

Continue learning more Flood Element techniques by starting with our API documentation. The main entry point to all tests is the Browser class and a great place to get a feel for the capabilities of each test.

Visit https://element.flood.io to view the documentation.

Contributing

Please see our CONTRIBUTING.md.

Reporting Issues

If you encounter any issues with the @flood/element project or Flood Element product, please open an issue on the GitHub project.

If you're encountering issues with Flood itself, please contact Flood Support from within the Flood Dashboard, send us an email or ask our community.

Authors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].