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. The Chrome extension also works in Edge but is not currently in the Edge Add-ons Store.
Initially generated from https://github.com/abhijithvijayan/web-extension-starter/tree/react-typescript
Only Firefox, Chrome and Edge 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 are available via the relevant stores:
- Firefox - ZAP by Checkmarx Recorder
- Chrome - ZAP by Checkmarx Recorder
- Edge - ZAP by Checkmarx Recorder
Ensure you have
Then run the following:
- yarn installto install dependencies.
- yarn run dev:chrometo start the development server for the full chrome extension
- yarn run dev:firefoxto start the development server for the full firefox addon
- yarn run dev:operato start the development server for the full opera extension
- yarn run build:ext:chrometo build the full chrome extension
- yarn run build:ext:firefoxto build the full firefox addon
- yarn run build:ext:operato build the full opera extension
- yarn run build:extbuilds and packs the full extensions all at once to extension/ directory
- yarn run build:rec:chrometo build the recorder chrome extension
- yarn run build:rec:firefoxto build the recorder firefox addon
- yarn run build:rec:operato build the recorder opera extension
- yarn run build:recbuilds and packs the recorder extensions all at once to extension/ directory
- yarn run buildbuilds and packs both the full and recorder extensions all at once to extension/ directory
- yarn run lintto lint the code
- yarn run lint --fixto fix any lint errors
- yarn playwright installat least once before the tests
- yarn run testto 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 installto 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 Modebutton to enable it.
- Click on the Load Unpacked Extension…button.
- Select the relevant chrome directory in extension/.
- Load the Add-on via about:debuggingas temporary Add-on.
- Choose the manifest.jsonfile in the extracted directory
- Go to the browser address bar and type edge://extensions
- Check the Developer Modebutton to enable it.
- Click on the Load Unpacked Extension…button.
- Select the relevant chrome directory in extension/.
- Load the extension via opera:extensions
- Check the Developer Modeand load as unpacked from extension’s extracted directory.
- yarn run buildbuilds the extension for all the browsers to- extension/BROWSERdirectory respectively.
- Shared Eslint & Prettier Configuration - @abhijithvijayan/eslint-config
- Shared TypeScript Configuration - @abhijithvijayan/tsconfig
Individual dependencies can be updated using yarn upgrade <package_name>
To update package.json use npx syncyarnlock --save --keepPrefix
All of the ZAP specific code is licensed under ApacheV2 © The ZAP Core Team
The Web Extension Starter is licensed under MIT © Abhijith Vijayan
