site5/phantoman

Codeception 扩展,用于在运行测试时自动启动和停止 PhantomJS。

v2.0.1 2017-10-27 13:31 UTC

README

Latest Version Software License Total Downloads

用于在运行测试时自动启动和停止 PhantomJSCodeception 扩展。

最低要求

  • Codeception 2.2.7
  • PHP 5.4

使用 Composer 安装

$ composer require site5/phantoman

请确保在下面的 配置 中启用扩展。

推荐额外包

通过 Composer 安装 PhantomJS 安装程序

强烈推荐您使用 PhantomJS 安装程序 包,该包将 PhantomJS 本地安装到项目的 vendor/bin 目录。请按照提供的 安装说明 进行操作。

Phantoman 默认使用 vendor/bin/phantomjs。如果使用其他安装的 PhantomJS,请在下面的配置中设置路径。

配置

默认情况下,Phantoman 将使用路径 vendor/bin/phantomjs 和端口 4444

启用和配置可以在 codeception.yml 或您的测试套件配置文件中完成。

使用默认设置启用 Phantoman

extensions:
    enabled:
        - Codeception\Extension\Phantoman

使用备用设置启用 Phantoman

extensions:
    enabled:
        - Codeception\Extension\Phantoman
    config:
        Codeception\Extension\Phantoman:
            path: '/usr/bin/phantomjs'
            port: 4445
            suites: ['acceptance']

在验收套件中启用 Phantoman(除了在 ci 环境中)

extensions:
  enabled:
    - Codeception\Extension\Phantoman:
        suites: ['acceptance']
env:
  ci:
    extensions:
      enabled:
        - Codeception\Extension\Phantoman:
            suites: []

可用选项

Phantoman 配置中设置的选项映射到 PhantomJS CLI 选项。目前支持以下选项。

基本

  • path: {path}
    • PhantomJS 二进制文件的完整路径。
    • 默认: vendor/bin/phantomjs
  • port: {port}
    • 启动 PhantomJS 时使用的 WebDriver 端口。
    • 默认: 4444
  • debug: {true|false}
    • 在 Phantoman 运行时显示调试输出
    • 默认: false

代理支持

  • proxy: {address:port}
    • 设置代理服务器。
  • proxyType: {[http|socks5|none]}
    • 指定代理类型。
  • proxyAuth: {username:password}
    • 为代理提供认证信息。

其他

  • suites: {array|string}
    • 如果省略,PhantomJS 将为所有套件启动。
    • 指定套件的数组或单个套件名称。
  • webSecurity: {true|false}
    • 启用 Web 安全
  • ignoreSslErrors: {true|false}
    • 忽略 SSL 验证中的错误。
    • 默认为 false
  • sslProtocol: {sslv3|sslv2|tlsv1|any}
    • 为安全连接设置 SSL 协议
    • 默认为 sslv3
  • sslCertificatesPath: {path}
    • 设置自定义 CA 证书的位置(如果没有设置,则使用系统默认值)。
  • remoteDebuggerPort: {port}
    • 以调试 Harness 启动 PhantomJS 并监听指定的端口
  • remoteDebuggerAutorun: {true|false}
    • 立即在调试器中运行脚本
    • 默认为 false
  • cookiesFile: {file path}
    • 设置存储持久性 Cookie 的文件名
  • diskCache: {true|false}
    • 启用磁盘缓存
    • 默认为 false
  • maxDiskCacheSize: {number}
    • 以 KB 为单位限制磁盘缓存的大小
  • loadImages: {true|false}
    • 加载所有内联图片
    • 默认为 true
  • localStoragePath: {文件路径}
    • 保存LocalStorage内容和WebSQL内容的路径
  • localStorageQuota: {数字}
    • 允许在本地存储中的数据最大大小,单位为KB
  • localToRemoteUrlAccess: {true|false}
    • 允许本地内容访问远程URL
    • 默认为 false
  • outputEncoding: {编码}
    • 设置终端输出的编码
    • 默认是 utf8
  • scriptEncoding: {编码}
    • 设置启动脚本使用的编码
    • 默认是 utf8
  • silent: {true|false}
    • 抑制有关启动和停止服务器的消息
    • 默认为 false
  • webdriverLoglevel: {ERROR|WARN|INFO|DEBUG}
    • WebDriver日志级别
    • 默认为 INFO
  • webdriverLogfile: {路径}
    • 写入WebDriver日志的文件

用法

安装并启用后,使用php codecept run运行测试会自动启动PhantomJS服务器,等待它可访问后再继续测试。

Starting PhantomJS Server.
Waiting for the PhantomJS server to be reachable..
PhantomJS server now accessible.

测试完成后,PhantomJS将关闭。

Stopping PhantomJS Server.

贡献

此存储库使用EditorConfig来确保编辑器之间的代码风格一致性。请确保为您的编辑器安装了EditorConfig插件,或者确保所有缩进都是4个空格缩进,使用linux行结束符。