Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Fire native system events from Cypress.
| Date | Stars |
|---|---|
| 2026-07-24 | 837 |
| 2026-07-25 | 837 |
| 2026-07-28 | 837 |
| 2026-07-30 | 837 |
| 2026-08-06 | 837 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<p align="center">
<img src="./logo.png"/>
</p>
<h1 align="center"> Cypress Real Events </h1>
<h3 align="center"> Fire native system events from Cypress </h3>
<p align="center">
<a href="https://www.npmjs.com/package/cypress-real-events">
<img src="https://img.shields.io/npm/v/cypress-real-events?style=for-the-badge" alt="npm version">
<a/>
<a href="https://www.npmjs.com/package/cypress-real-events">
<img src="https://img.shields.io/npm/dm/cypress-real-events?style=for-the-badge" alt="npm version">
<a/>
<a href="https://app.circleci.com/pipelines/github/dmtrKovalenko/cypress-real-events">
<img src="https://img.shields.io/circleci/build/github/dmtrKovalenko/cypress-real-events/main?style=for-the-badge" alt="npm version">
<a/>
<img src="https://img.shields.io/badge/made-with%20love-orange?style=for-the-badge"/>
<a href="https://twitter.com/neogoose_btw">
<img src="https://img.shields.io/twitter/follow/neogoose_btw?color=blue&style=for-the-badge">
<a/>
<p />
## Why?
Cypress default events are simulated. That means that all events like `cy.click` or `cy.type` are fired from javascript. That's why these events will be untrusted (`event.isTrusted` will be `false`) and they can behave a little different from real native events. But for some cases, it can be impossible to use simulated events, for example, to fill a native alert or copy to the clipboard. This plugin solves this problem.
## How?
Thanks to [Chrome Devtools Protocol](https://chromedevtools.github.io/devtools-protocol/). Cypress is connecting to CDP for tasks like screenshots, setting viewport, and others. This project utilizes the same connection to fire system events. The event firing system works literally like in puppeteer. And as a result, unlocks such features like **hovering** and **native focus management via Tab**.
## Requirements
Cypress only. Really. Cypress itself can fire native events. The only limitation for real events – **they work only in the chromium-based browser**. That means that Firefox is not supported, at least for now.
## Quick overview
Here is a simple test that can be written with native events:
```js
it("tests real events", () => {
cy.get("input").realClick(); // perform a native real click on the field
cy.realType("cypress real event"); // fires native system keypress events and fills the field
cy.realPress("Tab"); // native tab click switches the focus
cy.get("input").realMouseDown(); // perform a native mouse press on the field
cy.get("input").realMouseUp(); // perform a native mouse release on the field
cy.focused().realHover(); // hovers over the new focused element
cy.contains("some text in the hovered popover");
});
```
## Installation
Install npm package:
```
npm install cypress-real-events
yarn add cypress-real-events
```
Register new commands by adding this to your `cypress/support/e2e.{js,ts}` (or `components.{js|ts}`) file:
```js
import "cypress-real-events";
```
To include TypeScript declarations, add `"cypress-real-events"` to the `types` section of your [tsconfig.json](https://docs.cypress.io/guides/tooling/typescript-support) file:
```json
{
"compilerOptions": {
"types": ["cypress", "node", "cypress-real-events"]
}
}
```
## CI
On CI in the same way as for regular cypress tests real commands will work only in the real browser. Make sure to install a real browser using `cypress install` command.
> [!IMPORTANT]
> cypress-browsers docker image has issues with running real events commands, the CDP protocol sometimes not working properly. It is recommended to use standard cypress/default or node:lts docker image and install browser using `cypress install` command.
## API
The idea of the commands – they should be as similar as possible to cypress default commands (like `cy.type`), but starts with `real` – `cy.realType`.
Here is an overview of the available **real** event commands:
- [cy.realClick](#cyrealclick)
- [cy.realHover](#cyrealhover)
- [cy.realPress](#cyreExcerpt of 18,440 characters
Read on GitHub112
73
15
Mateusz Burzyński · @replayio · Poland
11
10
3
3
3
3
2
Denys Dovhan · @wix · Ukraine
2
2
2
2
2
2
2
2
2
2
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:22695884766781b5, topic:testing