A User Action Simulator Chrome Extension
- Clone this repo
- Visit
chrome://extensionsin Chrome - Select
Developer Mode - Click on
Load unpacked extension - Select the directory in which this repo is cloned
- Create a new Recipe.js file (for e.g. MyNewRecipe.js)
- Create a new entry in the array defined in recipes.json.
- Before committing run the gulp task
scriptsso that your recipe is minified and added to the extension (inject.js)
NOTE - Make sure the
idof the new entry matches with the global namespace of the recipe. For e.g. window.recipe.myNewRecipe should always haveid = myNewRecipe
- Fill Question Generic Recipe (should support as many questions as possible)
Create Assessment RecipeCreate T/F Recipe (CreateAssessmentRecipe, OpenTF (child-recipe), FillTF or FillQuestionRecipe)- Create a login recipe (ask extension owner to define params)
Make the search box functional so that recipes can be searched by their title in real-time i.e. search as you type (after initial loading)Load recipes.json only once for the entire browser sessionPlaceholder for search inputCreate Child-Recipes which has no existence alone but can always be clubbed with actual RecipesOrganization of all Recipes and Child-Recipes in directories and corresponding gulp task changes- Test to make sure all Recipes are present in inject.js combined and every recipe contains
steps - Create a video showing installation and usage.
- When recording show some kind of highlighting in the extension icon and Record button.
- Create a options page to import/export all/selective recipes/recordings but these won't be available to all extension installations. (Needs fileSystem permission)
- Upgrade extension to use Backbone so that recipelist can be a Backbone collection with unique recipe ids and appropriate events to update popup.html DOM.
- Recorded recipes should wait for DOM manipulation and ajax-requests to complete before triggering the next step.
- Create a wait-step such that the next action should wait unless that many seconds for the QA/Tester to see the expected result
- Create a way for extension users to see the pre-requisite & description for every extension and then execute it when pre-requisities match. Best would be to create a page on github wiki for every recipe with screenshots and if possible with videos showing how does that particular recipe works.
- Create a way for recipes to take input for e.g. "Create Assessment with 5 random qTypes" to take what qTypes and assessment-name.
- Create a way for recipes to define pre-requisities and if not matched then show an error-dialog/alert to the user.
Add more steps type (redactor, input, recipe), currently it supports only click- Add ability in the UI to add multiple param-sets for a particular Recipe & then use one at a time. (Login - Instructor, Student, Admin)
- Add created_by and author_link to original author of Recipe and show them in popup.html
- In popup.html show recently used recipes at the top with search working in the same order.
- Add .jshintrc and a gulp task to run jshint over all .js files
- Add File-A-Bug feature in extension popup
- Create a markdown file explaining types of recipes, procedure to create recipe, params, start & stop callbacks.
- Create a screencast for every recipe showing how the recipe works and what is the pre-requisite.
- Add ability to add recipe description in html (add pre-requisities here)
- Start adding extension .crx to releases so that people can download (don't forget to change the version number with every release)
- Create a child-recipe to save solution/hint & modify points and use it internally in FillQuestionRecipe
- Allow user to create custom recipes by combining recipes with parameters.
- Change params variable in recipes.json to parameterSets and fix all impacts.
- Ability to record actions and create a recipe at run-time
- Ability to run these recipes from Selenium (Extension install and execute on console -
window.recipe.RecipePlayer(someRecipe) - Put this extension in Chrome Store
- Implement usageCount of every recipe globally (across all installations, probably use a heroku free nodejs-mongo webapp or free mongo with REST API)
- Implement normalCompletionTime for every recipes' manual execution and record actual execution average across all installations to show how much did we saved.
- Recipe options and a way to edit options for every recipe and local saving without affecting any other installation.
- Write a plugin for firefox
- Create gulp tasks to create packaged extensions to be installed in chrome & firefox, with versions and add them to releases.
- Add support for creating safari extension and gulp-task to do the same.