Repository
Current version released
4 years ago
Cross-platform desktop automation framework for Deno.
Features
Keyboard
- Type a string using
.type
- Tap a key using
.tap
- Toggle key using
.toggleKey
- Type a string using
Mouse
- Simulate mouse movement using
.moveMouse
- Click using
.click
- Simulate a scroll using
.scroll
- Get mouse position using
.mousePosition
- Get mouse position pixel color
.pixelColor
- Simulate mouse movement using
Screen
- Capture screen using
.screenshot
- Get screen size using
.screenSize
- Check if point out of bounds using
.pointVisible
- Get number of pixels in a point using
.screenScale
- Capture screen using
Notifications
- Native popup using
.alert
- Notifications using
.notify
- Native popup using
Monitors
- Get the number of monitors using
.getMonitors
- Get the number of monitors using
Window management (only for linux)
- Get window title using
.getWindow
- Transform windows size using
.transformByIndex
- Get window title using
Documentation
Detailed documentation of the API is available at:
Requirements
Linux
sudo apt-get update
sudo apt-get install libdbus-1-dev x11-xserver-utils wmctrl libxtst-dev cmake libc-dev libx11-dev libxcb1-dev
Usage
Running your Deno script with AutoPilot requires some flags
deno run --unstable -A file.ts
NOTE: Prebuilt binaries are automatically downloaded the first time you import Autopilot in your project and are cached.
import AutoPilot from 'https://deno.land/x/autopilot@0.2.1/mod.ts';
// create a new AutoPilot instance.
var pilot = new AutoPilot();
// type a string
await pilot.type("Yay! This works");
// alert something
await pilot.alert("This is a alert");
// get screen size
await pilot.screenSize();
// move mouse
await pilot.moveMouse(200, 400);
// take a full-screen screenshot
await pilot.screenshot("screenshot.png");
Env variables
CACHE
: Set if you want to update the release from Github.DEV
: Set if you want t use the development debug builds.
Development
- Requires rust and cargo.
- Requires velociraptor
Clone this repo and run cargo build
to produce a development build.
Commands
- Run tests:
vr test
- Run and produce benchmarks:
vr bench
- Format code fmt:
vr fmt
- Create development build:
vr build
Contributing
Contributing code and ideas to AutoPilot is really easy! Create an issue or PR. :)
License
See MIT License. All rights reserved. Divy Srivastava 2020.