The Codeception extension for automatically starting and stopping PhantomJS when running tests.
- Codeception 2.1.0
- PHP 5.4
Installation using Composer
$ composer require site5/phantoman
Be sure to enable the extension in codeception.yml
as shown in
configuration below.
It is highly recommended that you use the PhantomJS
Installer package which will
install PhantomJS locally to your project in vendor/bin
. Please follow the
installation
instructions
provided.
Phantoman uses vendor/bin/phantomjs
by default. If any other installation of
PhantomJS is used, please set the path as shown in the configuration below.
By default Phantoman will use the path vendor/bin/phantomjs
and port 4444
.
All enabling and configuration is done in codeception.yml
.
extensions:
enabled:
- Codeception\Extension\Phantoman
extensions:
enabled:
- Codeception\Extension\Phantoman
config:
Codeception\Extension\Phantoman:
path: '/usr/bin/phantomjs'
port: 4445
Options set in the Phantoman configuration are mapped to PhantomJS CLI options. The currently supported options are listed below.
path: {path}
- Full path to the PhantomJS binary.
- Default:
vendor/bin/phantomjs
port: {port}
- Webdriver port to start PhantomJS with.
- Default:
4444
debug: {true|false}
- Display debug output while Phantoman runs
- Default:
false
proxy: {address:port}
- Sets the proxy server.
proxyType: {[http|socks5|none]}
- Specifies the proxy type.
proxyAuth: {username:password}
- Provides authentication information for the proxy.
webSecurity: {true|false}
- Enables web security
ignoreSslErrors: {true|false}
- Ignores errors in the SSL validation.
- Defaults to
false
sslProtocol: {sslv3|sslv2|tlsv1|any}
- Sets the SSL protocol for secure connections
- Defaults to
sslv3
sslCertificatesPath: {path}
- Sets the location for custom CA certificates (if none set, uses system default).
remoteDebuggerPort: {port}
- Starts PhantomJS in a debug harness and listens on the specified port
remoteDebuggerAutorun: {true|false}
- Runs the script in the debugger immediately
- Defaults to
false
cookiesFile: {file path}
- Sets the file name to store the persistent cookies
diskCache: {true|false}
- Enabled disk cache
- Defaults to
false
maxDiskCacheSize: {number}
- Limit the size of the disk cache in KB
loadImages: {true|false}
- Loads all inlined images
- Defaults to
true
localStoragePath: {file path}
- The path to save LocalStorage content and WebSQL content
localStorageQuota: {number}
- Maximum size to allow for data in local storage in KB
localToRemoteUrlAccess: {true|false}
- Allows local content to access remote URL
- Defaults to
false
outputEncoding: {encoding}
- Sets the encoding for the terminal output
- Default is
utf8
scriptEncoding: {encoding}
- Sets the encoding used for starting the script
- Default is
utf8
Once installed and enabled, running your tests with php codecept run
will
automatically start the PhantomJS server and wait for it to be accessible before
proceeding with the tests.
Starting PhantomJS Server
Waiting for the PhantomJS server to be reachable..
PhantomJS server now accessible
Once the tests are complete, PhantomJS will be shut down.
Stopping PhantomJS Server