This repo defines 2 related ZAP browser extensions.
A browser extension which allows ZAP to interact directly with the browser. It also allows you to record whatever you do in a browser as Zest scripts. These can be used to handle complicated authentication flows or sequences of related actions.
Works in both Firefox and Chrome.
Initially generated from https://github.com/abhijithvijayan/web-extension-starter/tree/react-typescript
Only Firefox and Chrome have been tested - Opera may or may not work 😉
This extension is bundled in the ZAP Client Side Integration add-on, so you typically do not need to install it manually.
The latest published extensions are still available via the relevant stores:
This extension only allows you to record Zest scripts in the browser. It will not interact with ZAP, even if you have it running.
You can use this extension to record Zest scripts on a system on which ZAP is not running.
The latest published extensions will be available via the relevant stores:
- Firefox - ZAP by Checkmarx Recorder
- Chrome - ZAP by Checkmarx Recorder TBA
Ensure you have
Then run the following:
yarn install
to install dependencies.yarn run dev:chrome
to start the development server for the full chrome extensionyarn run dev:firefox
to start the development server for the full firefox addonyarn run dev:opera
to start the development server for the full opera extensionyarn run build:ext:chrome
to build the full chrome extensionyarn run build:ext:firefox
to build the full firefox addonyarn run build:ext:opera
to build the full opera extensionyarn run build:ext
builds and packs the full extensions all at once to extension/ directoryyarn run build:rec:chrome
to build the recorder chrome extensionyarn run build:rec:firefox
to build the recorder firefox addonyarn run build:rec:opera
to build the recorder opera extensionyarn run build:rec
builds and packs the recorder extensions all at once to extension/ directoryyarn run build
builds and packs both the full and recorder extensions all at once to extension/ directoryyarn run lint
to lint the codeyarn run lint --fix
to fix any lint errorsyarn run test
to run the test suite (you should not have anything listening on port 8080)- Note that individual tests can be run like
yarn run test -t "Should report forms"
- Note that individual tests can be run like
-
yarn install
to install dependencies. -
To watch file changes in development
- Chrome
yarn run dev:chrome
- Firefox
yarn run dev:firefox
- Opera
yarn run dev:opera
- Chrome
-
Load extension in browser
-
- Go to the browser address bar and type
chrome://extensions
- Check the
Developer Mode
button to enable it. - Click on the
Load Unpacked Extension…
button. - Select your browsers folder in
extension/
.
- Go to the browser address bar and type
-
- Load the Add-on via
about:debugging
as temporary Add-on. - Choose the
manifest.json
file in the extracted directory
- Load the Add-on via
-
- Load the extension via
opera:extensions
- Check the
Developer Mode
and load as unpacked from extension’s extracted directory.
- Load the extension via
yarn run build
builds the extension for all the browsers toextension/BROWSER
directory respectively.
- Shared Eslint & Prettier Configuration -
@abhijithvijayan/eslint-config
- Shared TypeScript Configuration -
@abhijithvijayan/tsconfig
All of the ZAP specific code is licensed under ApacheV2 © The ZAP Core Team
The Web Extension Starter is licensed under MIT © Abhijith Vijayan