All Projects → trentmwillis → Devtools Protocol Demos

trentmwillis / Devtools Protocol Demos

Demos of the Chrome DevTools Protocol for various testing/automation techniques

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Devtools Protocol Demos

Examples
Use case-driven examples for using Puppeteer and headless chrome
Stars: ✭ 2,125 (+10019.05%)
Mutual labels:  demos, puppeteer
Repng
React component to PNG converter
Stars: ✭ 856 (+3976.19%)
Mutual labels:  puppeteer
Wbot
A simple Web based BOT for WhatsApp™ in NodeJS 😜. Working as of 📅 Feb 14th, 2020
Stars: ✭ 638 (+2938.1%)
Mutual labels:  puppeteer
Csgo Demos Manager
Stars: ✭ 782 (+3623.81%)
Mutual labels:  demos
Docker Puppeteer
A minimal Docker image for Puppeteer
Stars: ✭ 656 (+3023.81%)
Mutual labels:  puppeteer
Ui Testing Best Practices
The largest UI testing best practices list (last update: January 2021)
Stars: ✭ 783 (+3628.57%)
Mutual labels:  puppeteer
Rendertron
A Headless Chrome rendering solution
Stars: ✭ 5,593 (+26533.33%)
Mutual labels:  puppeteer
Singlefilez
Web Extension for Firefox/Chrome/MS Edge and CLI tool to save a faithful copy of an entire web page in a self-extracting HTML/ZIP polyglot file
Stars: ✭ 882 (+4100%)
Mutual labels:  puppeteer
Code Red
A Graphics Interface for DirectX12 and Vulkan
Stars: ✭ 27 (+28.57%)
Mutual labels:  demos
Dps
🍊 a way to make skeleton screen, 一种自动生成网页骨架屏的方式
Stars: ✭ 780 (+3614.29%)
Mutual labels:  puppeteer
Socialmanagertools Igbot
🤖 📷 Instagram Bot made with love and nodejs
Stars: ✭ 699 (+3228.57%)
Mutual labels:  puppeteer
Browserless
A browser driver on top of puppeteer, ready for production scenarios.
Stars: ✭ 664 (+3061.9%)
Mutual labels:  puppeteer
Vue 163 Music
【停止维护】网易云音乐web版,支持PC端常用功能,localStorage保存播放列表
Stars: ✭ 788 (+3652.38%)
Mutual labels:  demos
Try Puppeteer
Run Puppeteer code in the cloud
Stars: ✭ 642 (+2957.14%)
Mutual labels:  puppeteer
Gsc
Run guided scripts for command line demos.
Stars: ✭ 13 (-38.1%)
Mutual labels:  demos
Dwitter
Social network for short js demos
Stars: ✭ 618 (+2842.86%)
Mutual labels:  demos
Puppeteer Api Zh cn
📖 Puppeteer中文文档(官方指定的中文文档)
Stars: ✭ 697 (+3219.05%)
Mutual labels:  puppeteer
Foxr
🦊 Node.js API to control Firefox
Stars: ✭ 783 (+3628.57%)
Mutual labels:  puppeteer
Motionlayoutdemos
AppDevCon MotionLayout workshop
Stars: ✭ 21 (+0%)
Mutual labels:  demos
Blazar
Pre-Render Pages on the Fly in Laravel
Stars: ✭ 14 (-33.33%)
Mutual labels:  puppeteer

DevTools Protocol Demos

Demos of the Chrome DevTools Protocol for various testing/automation techniques. For simplicity, these demos use Puppeteer to interact with the Chrome DevTools Protocol.

These demos were originally used in a talk given at Nordic.js. You can view the talk slides on Notist.

Setup

In order to setup the demos for use, run the following commands (assuming you have git and npm installed):

  1. git clone https://github.com/trentmwillis/devtools-protocol-demos.git
  2. cd devtools-protocol-demos
  3. npm install

From there you can run the various demos using npm run and then the corresponding script name as documented below.

Demos

There are two types of demos in this repository:

  1. Service Demos - These are demos that use Puppeteer to power an API service to automate some workflow.
  2. Testing Demos - These are demos that use Puppeteer to test some aspect of a web application.

Service Demos

The Service Demos showcase Puppeteer-powered APIs. You can run them with npm run service<name>.

  1. static-site-api - Creates a RESTful API for getting content from a statically generated site. After starting the service, go to http://localhost:3000 to get a random post from my blog.
  2. screenshot-emailer - Creates a service where you can email a screenshot of a webpage to someone. You'll need a Gmail account in order for this demo to work.
  3. playback - Creates a service where you can post a series of commands and Puppeteer will "playback" those commands. After starting the service, you can run service-demos/playback-demo-script.js in the browser to see it work.

Testing Demos

The Testing Demos showcase testing various aspects of the ChitChat web application. You can run them with npm run test:<name>.

  1. intro - A basic introduction showing launching the browser, visiting a page, and checking for an element's text.
  2. user-flow - Builds on the intro demo and runs through a user flow for sending messages in the app.
  3. accessibility - Builds on the user-flow demo and checks the accessibility of the page using axe-core.
  4. visual-regression - Builds on the accessibility demo and checks the visual appearance of the app by using screenshots.
  5. memory-leak-by-heap - Demonstrates a simple approach to detecting memory leaks by looking at the JS heap size of the app before and after a series of actions.
  6. memory-leak-by-prototype - Demonstrates detecting memory leaks by checking for objects of a specific prototype in the app's memory.
  7. code-coverage - Shows how to get code coverage (usage) reports for the assets used by a web app. Runs a test and then uses Istanbul to generate the report.
  8. multi-user - Demonstrates how to launch multiple instances of an application to test multi-user interactions.
  9. multi-user-full - Demonstrates how to launch multiple instances of an application to test multi-user interactions with accessibility, memory, and code coverage checks as well.
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].