uuf6429 / mink-electron-driver
该包已废弃,不再维护。未建议替代包。
Mink Electron 驱动程序
1.3.0
2018-02-03 13:29 UTC
Requires
- php: >=5.6
- behat/behat: ~3.0
- behat/mink: ~1.7
- behat/mink-extension: ^2.2
- eloquent/composer-npm-bridge: ^3.0 || ^4.0
- roave/security-advisories: dev-master
- symfony/process: ^3.0 || ^4.0
- uuf6429/dnode-php-sync-client: ^2.0
Requires (Dev)
- mink/driver-testsuite: dev-master
- phpunit/phpunit: ^5.7
- psr/log: ~1.0
This package is not auto-updated.
Last update: 2020-01-24 16:40:18 UTC
README
Mink Electron 驱动程序(用 Electron 替代 JsonWireProtocol 和 PhantomJS)
Electron 的速度比 PhantomJS 快 2 到 3 倍(来源)。
目录
功能和优势
- 功能齐全的网页浏览器
- 相对于替代品,速度相当快
- 使用现代组件构建
- 良好的支持(Electron 接收频繁更新)
- 易于理解的代码库(PHP 或 JS)
- 经过良好测试(除了 Mink 驱动程序测试外,还有其他测试)
要求
有一些事情取决于您的系统是否自动处理。
- 基本要求
- PHP(5.5+)和 Composer
- Node.js(4+)和 npm
- Linux
- 如果以无头模式运行(即,没有桌面)则需要安装 xvfb
- 需要一些库,更多细节请参阅此处
- Windows
- 可能需要构建工具。这些可以通过一个 npm 命令安装 (点击此处)
安装
首先确保满足上述 要求。
接下来,只需通过 Composer 在 Behat 项目中安装驱动程序即可
composer require uuf6429/mink-electron-driver
它是如何工作的?
PHP + Mink Driver Interface Node.js + Electron API
________________ | ______________________ _____________ | _______________
| Behat + Mink |_v_| Client |___| Server |_V_| Electron |
| (Your Project) |---| (ElectronDriver.php) |---| (Server.js) |---| (Web Browser) |
'----------------' '----------------------' ^ '-------------' '---------------'
|
DNode comm. over UDS (with inet sockets fallback)
由于无法轻易从 PHP 控制 Node.js,因此采用了客户端-服务器方法,使用快速轻量级的传输协议(Unix 域套接字)(dnode)。
PHP 端的驱动程序只需告诉服务器要做什么,并控制 Electron 网页浏览器。
采用客户端-服务器方法的主要原因是 Mink 是同步的。