Skip to content

HelpAddonsSeleniumIntro

thc202 edited this page Feb 6, 2019 · 8 revisions

Selenium

The Selenium add-on provides WebDrivers, for other add-ons, to invoke and remotely control web browsers. It's also bundled the HtmlUnit web browser, an headless Java based web browser.

The add-on also adds a right click option to ZAP panels that list URLs (such at the History and Sites tree) which allows you to open the selected URL in any of the supported browsers.

Supported Browsers

The following web browsers are supported:

Name ID Requirements/Notes
Chrome chrome The following versions are known to work: 59 and 60 (older versions might work too). Requires ChromeDriver, if not on the system's PATH, it can be set in the options. For more information on ChromeDriver and how to obtain it refer to the ChromeDriver website.
Firefox firefox The following versions are known to work: 45 (ESR), 46, 47.0.1, 54, and 55 (older versions might work too). Some versions are known to not work, for example, 47.0. Newer versions (≥ 48) require geckodriver, it can be set in the options. For more information on geckodriver and how to obtain it refer to the geckodriver website (see footer note for caveat when using geckodriver).
HtmlUnit htmlunit Bundled browser, does not have any requirement.
Internet Explorer ie The following version is known to work: 11 (older versions might work too). Requires IEDriverServer, if not on the system's PATH, it can be set in the options. For more information on IEDriverServer refer to the IEDriverServer website (see footer note for caveat when using Internet Explorer).
Opera opera Temporarily not working.
PhantomJS phantomjs The following version is known to work: 2.1.1 (older versions might work too). Requires PhantomJS binary, if not on the system's PATH, it can be set in the options. For more information on PhantomJS and how to obtain it refer to the PhantomJS website (see footer note for caveat when using PhantomJS).
Safari safari  

To use Firefox, Chrome, Internet Explorer, Opera, PhantomJS and Safari, you must have them installed in your system. The ID of the browser can be used to choose the browser when configuring ZAP through the command line or using the ZAP API (for example, to set the AJAX Spider to use one or other browser).

Some of the requirements (e.g. WebDrivers) of the browsers can be configured in the Options Selenium screen.

Bundled WebDrivers

ZAP provides add-ons with the WebDrivers, when those add-ons are installed ZAP will attempt to use those bundled WebDrivers by default. Some OSs might not have a WebDriver for some of the browsers, in those cases ZAP will inform, in the options panel, that there's no bundled WebDriver available. The bundled WebDrivers can also be (re)set with the 'Bundled' button (for example, if another WebDriver was manually set). Not all browser versions are supported with the bundled WebDrivers, it's recommended that newer/latest versions of the browsers be used whenever possible.

Note: ZAP add-ons can add additional browsers.

Firefox/geckodriver Note: There's an issue (Bug 1103196) that prevents HTTPS sites from being used in versions ≥ 48 and < 52.

PhantomJS Note: There's an issue (Issue #11342) that prevents sites at localhost, 127.0.0.1 and ::1 from being proxied through ZAP. Until a fix is available is advised to not use it in those cases. Some add-ons might choose to show warning message when that happens. As workaround one could define, in the hosts file, a domain name mapping to the local address and use that domain name instead.

Internet Explorer Note: Not all versions of Internet Explorer work out of the box, refer to the IEDriverServer website for more details on how to configure them.

See also

     Options Selenium screen for an overview of the Selenium Options
     API for an overview of the Selenium API
Clone this wiki locally