http://mieweb.github.io/herbie/
Herbie is a set of tools for developing BDD (https://en.wikipedia.org/wiki/Behavior-driven_development) scripts for testing. The premise is that the scripts should be human understandable and author-able.
There are several different components to Herbie:
- An English like language parser specifically for understanding documentation like directives: Vision.
- An interactive inspector to make it easier for Vision authors to discover what elements are on a page.
- A simple Vision interpreter that allow an author to test/debug Vision script.
- Clone the project to your local machine or download the chrome extension from above link.
- Open Chrome and go to
Preferences... -> Extensions
. - Ensure "Developer mode" is checked (upper left).
- Click "Load unpacked extension...".
- Browse to the
chrome_extension
folder in the project.
Voila! Now a Herbie robot button should exist on the toolbar. It will inject Herbie into the background of the current tab of any webpage.
Instead of using the jQuery Simulate Extended plug-in (a.k.a. jquery-simulate-ext) for simulating complex user interactions based on the jQuery.simulate() plug-in, we have used mie-simulijs
, which was developed in MIE. It's a package that simulates events on the page. Here is the npm package: mie-simulijs.
We made this change because the jQuery Simulate package was not being maintained, and some events like mouseover and mouseenter were not working as expected. To overcome this, we had to build our own package. Feel free to check out the package.
Feel free to check out Herbie, which was written in jQuery in 2015. This was one of the first versions.
An online demo is available here: Herbie Demo
Through a fault in manufacturing, a robot, RB-34 (a.k.a. Herbie), is created that possesses telepathic abilities. https://en.wikipedia.org/wiki/Liar!_(short_story)
Inspiration has been drawn from:
- Gherkin and Cucumber but Vision has a slightly different goals.
- Sikuli Script tho specific to the web, and mean to be browser independant.
- DalekJS
- Nightwatch.js
- Selenium Web Driver of course.
- For recording xss-keylogger
- Chrome Extension Examples
- Mozilla FireFox Extension
- Safari Extension Developer
- Developing Internet Explorer Extensions