Codeception BrowserMob Proxy
, (*1)
The Codeception module for BrowserMob Proxy., (*2)
Roadmap
Minimum Requirements
- Codeception 2.2
- PHP 7.2
- BrowserMob Proxy 2.0
Installation
The module can be installed using Composer., (*3)
$ composer require edno/codeception-browsermob
Be sure to enable the module as shown in
configuration below., (*4)
Configuration
Enabling BrowserMob is done in your configuration file .yml., (*5)
module:
enabled:
- Codeception\Extension\BrowserMob
host: 'localhost'
port: 8080
Parameters
BrowserMob support following configuration parameters:, (*6)
| 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, (*7)
`code`: HTTP status code for URLs that do not match patterns, (*8)
<, (*9)
p>patterns: array of whitelisted URLs patterns, (*10)
<, (*11)
p> |
| blacklist | array |, (*12)
URLs blacklisting, (*13)
`code`: HTTP status code for URLs that match patterns, (*14)
<, (*15)
p>patterns: array of blacklisted URLs patterns, (*16)
<, (*17)
p> |
| limits | array | Bandwidth limits through the proxy (see BrowserMob Proxy REST API)|
| timeouts | array | Proxy timeouts (see BrowserMob Proxy REST API) |
| basicAuth | array |, (*18)
Sets automatic basic authentication a list of domains, (*19)
`domain`: domain name, (*20)
`options`:HTTP authentication parameters using format *`name: value`* (see [BrowserMob Proxy REST API](https://github.com/lightbody/browsermob-proxy#rest-api)), (*21)
|
| dns | array |, (*22)
Internal proxy DNS using pairs of domain/IP to map, (*23)
`domain`: domain name, (*24)
`ip`: matching IP, (*25)
|
| retry | integer | Number of times a method will be retried [default = 0] |, (*26)
Example, (*27)
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., (*28)
For more information on how to use BrowserMob proxy, refer to BrowserMob Proxy REST API documentation., (*29)