behat-chrome/behat-chrome-extension

此包已被弃用且不再维护。作者建议使用 dmore/behat-chrome-extension 包。

Behat 扩展,用于在不使用 selenium 的情况下控制 chrome

1.3.0 2022-03-21 09:28 UTC

This package is auto-updated.

Last update: 2022-04-20 23:19:28 UTC


README

请继续通过 Packagist 使用 dmore/behat-chrome-extension

有关详细信息,请参阅 https://gitlab.com/behat-chrome/chrome-mink-driver/-/issues/121

简而言之:我创建了一个在 behat-chrome/* 命名空间中的占位符 Packagist 包,作为该问题的部分。DMore 和我决定保留原始的 Packagist 名称,但似乎有些人已经注意到了新的 Packagist 名称。

Gitlab 项目已迁移至 https://gitlab.com/behat-chrome/

撤销 composer 变更

composer remove behat-chrome/behat-chrome-extension behat-chrome/chrome-mink-driver
composer require dmore/behat-chrome-extension dmore/chrome-mink-driver

现在,Packagist 上的 behat-chrome/ 包已被标记为弃用,并引导人们回到 dmore/

README 继续说明

Behat 扩展,用于在不使用 selenium 的开销下控制 chrome。

它通过 HTTP 和 WebSocket 直接与 chrome 通信,这使得它至少比使用 selenium 的 chrome 快两倍。

对于 chrome 59+,它支持无头模式,消除了安装显示服务器及其开销的需求。

此驱动程序针对 1800 个场景和 19000 个步骤的 behat 套件进行了测试和基准测试。使用 chrome 60 无头模式,它可以在不到 18 分钟内成功运行。

同一套件在 chrome 58 上与 xvfb 和 selenium 的运行需要大约 60 分钟。

安装

composer require dmore/behat-chrome-extension

要求

  • 运行远程调试的 Google chrome 或 chromium

示例

google-chrome-stable --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222

或无头模式(59+)

google-chrome-unstable --disable-gpu --headless --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222

官方 Docker 镜像包含运行无头模式的 chrome 60。

有关完整工作示例,请参阅 https://gitlab.com/DMore/behat-chrome-skeleton

使用方法

default:
    extensions:
        DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
        Behat\MinkExtension:
            browser_name: chrome
            base_url: http://localhost
            sessions:
                default:
                    chrome:
                        api_url: "http://localhost:9222"

配置

以下可选配置设置可用

validate_certificate

默认值: true

设置为 false 以忽略无效的 SSL 证书。

socket_timeout

默认值: 10

在 HTTP 或 WebSocket 连接到 chrome 浏览器被视为已死之前,以秒为单位的超时时间。

download_behavior

默认值: 转回浏览器配置

设置为 'allow' 以允许下载。

dom_wait_timeout

默认值: 3000

每个操作/转换后等待 DOM 准备的毫秒数。

download_path

默认值: /tmp

设置为文件下载的目录路径。需要 download_behavior: allow

示例

default:
    extensions:
        DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
        Behat\MinkExtension:
            browser_name: chrome
            base_url: http://localhost
            sessions:
                default:
                    chrome:
                        api_url: "http://localhost:9222"
                        download_behavior: allow
                        download_path: /download
                        validate_certificate: false

贡献

鼓励您分叉此存储库并贡献自己的改进。