edno / codeception-browsermob
Codeception extension providing BrowserMob Proxy capabilities
Requires
- php: ^5.5 || ^7.0
- chartjes/php-browsermob-proxy: dev-master
- codeception/codeception: ^2.2
Requires (Dev)
This package is auto-updated.
Last update: 2021-08-29 22:39:15 UTC
README
The Codeception module for BrowserMob Proxy.
Roadmap
- 0.1: Initial version based on library PHPBrowserMobProxy by chartjes with limited support of BrowserMob Proxy legacy API and no Littleproxy support.
- 0.2: New PHP BrowserMob Proxy with full REST API support (Jetty and Littleproxy) and proxy auto-configuration feature.
- 0.3: Full integration with Codeception modules PhpBrowser and WebDriver
Minimum Requirements
- Codeception 2.2
- PHP 7.2
- BrowserMob Proxy 2.0
Installation
The module can be installed using Composer.
$ composer require edno/codeception-browsermob
Be sure to enable the module as shown in configuration below.
Configuration
Enabling BrowserMob is done in your configuration file .yml
.
module: enabled: - Codeception\Extension\BrowserMob host: 'localhost' port: 8080
Parameters
BrowserMob support following configuration parameters:
Parameter | Type | Description |
---|---|---|
host |
string | BrowserMob Proxy host |
port |
integer | BrowserMob Proxy port |
autostart |
boolean | Start a new proxy instance automatically [default = false] |
whitelist |
array | URLs whitelisting
|
blacklist |
array | URLs blacklisting
|
limits |
array | Bandwidth limits through the proxy (see BrowserMob Proxy REST API) |
timeouts |
array | Proxy timeouts (see BrowserMob Proxy REST API) |
basicAuth |
array | Sets automatic basic authentication a list of domains
|
dns |
array | Internal proxy DNS using pairs of domain/IP to map
|
retry |
integer | Number of times a method will be retried [default = 0] |
Example
modules: config: Codeception\Extension\BrowserMob: host: 'localhost' port: 9090 autostart: true whitelist: code: 404 patterns: - 'http://codeception.com/' limits: downstreamKbps: 12 upstreamKbps: 12 latency: 1 timeouts: request: 10 read: 10 connection: 10 dns: 10 basicAuth: - domain: example.local options: username: myUsername password: myPassword dns: - domain: example.local ip: 127.0.0.1 - domain: wikipedia.org ip: 192.168.1.1 retry: 3
Documentation
The module documentation is available in the wiki.
For more information on how to use BrowserMob proxy, refer to BrowserMob Proxy REST API documentation.