vitalets / autotester

Chrome extension that allows to develop and run automation tests right in browser
MIT License
169 stars 25 forks source link

Autotester

Status GitHub version Build Status Build status Sauce Test Status

Autotester is Chrome extension that allows to develop and run automation tests right in browser.
Tests are written in Javascript and can be executed over another tab of the same Chrome or any remote browser.

Tested in:
Sauce Test Status

Contents

Demo

Features

Project status

Autotester is under active development now. Not all webdriver commands are supported. Yet. And there can be bugs. But feel free to try it and share your feedback or ideas in issues - help us to make it better!

Installation

  1. Download and unpack latest autotester.zip
  2. Drag-n-drop unpacked autotester directory on chrome://extensions page

Getting started

Click extension button A in browser panel to open Autotester app. Select google_search in dropdown and press Run to execute test. Look at the report. Next, you can change test code or create new file and re-run again.

Usage

Autotester supports Selenium Javascript API for writing tests. Have a look on Autotester self tests.
Also there are some pre-defined globals available in tests for conveniency:

More detailed tutorial is coming..

How does Autotester work?

When executing tests in the another tab of the same browser Autotester is utilizing Chrome Debugging Protocol available via chrome.debugger.* extensions API. It intercepts http requests going from Selenium Javascript package to W3C Webdriver endpoints and loops them back to browser.
When executing tests over remote browser Autotester does not intercept http requests letting them reach remote Selenium Server and waits for the results.

Roadmap

There are many directions to grow. The current plan is following:

Contribution

If you have an idea how to fix bug or implement new feature - you are welcome to contribute.
Please see CONTRIBUTING.md. Thanks for your support!

FAQ

What if I get error "Unsupported route command"? This error means that some Webdriver command is not implemented in Autotester yet. The workaround sometimes can be using `driver.executeScript` to achive the goal directly. For example, if `driver.getTitle()` is not implemented, you can retrieve title as: driver.executeScript(() => document.title); Also please search issues for the same unsupported route and vote or create new one to let us know which commands you need most of all.
Where to store tests? 1. You can create as many tests as you like and store them right in browser as snippets. This is the easiest way but less reliable: if you occasionally remove extension tests will be lost. 2. For more serious things it is recommended to serve tests from local or remote http server and keep them under version control. 3. The third option is to load tests from local directory without http server. For that you should create tests inside `/tests` directory of unpacked extension.

Links

License

MIT @ Vitaliy Potapov