Skip to content

Commit

Permalink
switching from cfx to jpm so that WebAppWalker now supports Firefox 3…
Browse files Browse the repository at this point in the history
…8+; added some documentation
  • Loading branch information
michaelpradel committed Sep 16, 2015
1 parent eb816dc commit 1f40625
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 3 deletions.
10 changes: 10 additions & 0 deletions .jpmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
nbproject
mpAddonDev
EventBreak_Results
README_EventBreak_Artifact.txt
.gitignore
*~
*.swp
tests/tizen
.idea
*debuglog.txt
45 changes: 44 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,47 @@ at Conference on Object-Oriented Programming, Systems, Languages, and Applicatio

This repository provides the source code of our implementation. The easiest way to experiment with EventBreak is to use this [Virtualbox VM image](http://www.eecs.berkeley.edu/~pradel/EventBreak_OOPSLA_Artifact2.tar.gz), where EventBreak, all its requirements, and several benchmark applications are pre-installed. The image contains a file README_EventBreak_Artifact.txt with instructions on how to use it.

WebAppWalker has been tested with Firefox versions up to 39.0 and currently does not support newer versions.


## Installation

1. Clone this repository:
```
git clone https://github.com/michaelpradel/WebAppWalker.git
```

2. Install jpm (required to launch WebAppWalker):
```
npm install jpm --global
```

3. Install Firefox >= 38.0


## Usage

Start Firefox with the WebAppWalker extension:
```
jpm run -b /path/to/your/firefox --binary-args="-no-remote"
```

By default, jpm creates a new Firefox profile each time you run WebAppWalker. To store visited URLs, settings, etc., create and use a profile specifically for WebAppWalker.
1. Create a new profile via the profile manager:
```
/path/to/your/firefox -no-remote --ProfileManager
```
2. Start WebAppWalker with the newly created profile:
```
jpm run -b /path/to/your/firefox --binary-args="-no-remote" -p nameOfYourProfile
```

Go to some URL and start WebAppWalker by clicking the "Play" button. You should see that WebAppWalker triggers events, such as clicks. To stop it, click the "Pause" button.


## Search strategies

By default, WebAppWalker uses a random search strategy to decide which event to trigger next. We have developed several other strategies, e.g., the EventBreak strategy. To modify the strategy, open the ```lib/main.js``` file and modify the line that starts with ```var search =```.

To implement your own strategy, the easiest will be to copy ```lib/search/random_search.js``` and start from there.

5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"name": "webappwalker",
"fullName": "WebAppWalker",
"id": "jid1-UjG7KyBWEwwDZg",
"id": "jid1-UjG7KyBWEwwDZg@jetpack",
"description": "Test generator for web applications",
"author": "Michael Pradel",
"license": "GPLv2",
"version": "0.2"
"version": "0.2.0",
"main": "lib/main.js"
}

0 comments on commit 1f40625

Please sign in to comment.