bhittani / web-browser
laravel/dusk 的便捷封装
0.2.0
2021-06-20 12:08 UTC
Requires
- php: >=7.2
- bhittani/web-driver: ^0.6.0
- laravel/dusk: ^6.15
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-08-23 18:51:02 UTC
README
程序化导航/测试网页。
要求
- PHP >= 7.2
安装
您可以使用 composer 安装此包。
$ composer require bhittani/web-browser
安装chrome驱动程序
$ vendor/bin/install-chrome-driver
安装phantomjs驱动程序
$ vendor/bin/install-phantomjs-driver
用法
此包便捷地封装了 laravel/dusk。
Chrome
首先确保您已安装了 chrome 驱动程序。
<?php use Bhittani\WebBrowser\Chrome; $browser = new Chrome;
Phantomjs
首先确保您已安装了 phantomjs 驱动程序。
<?php use Bhittani\WebBrowser\Phantomjs; $browser = new Phantomjs;
API
所有浏览器实例都扩展了 Laravel\Dusk\Browser
,因此,相同的API适用。
示例
<?php $browser->visit('https://example.com')->assertSee('Example');
测试
我们还可以在测试环境中进行断言并捕获失败。
<?php use Bhittani\WebBrowser\Browser; use Bhittani\WebBrowser\Phantomjs; use Bhittani\WebBrowser\Testing; Testing::bootstrap(); // Required for purging failed assertions. Browser::test(function ($browser1, $browser2/*, ... */) { $browser1->visit('https://example.com')->assertSee('Example'); $browser2->visit('https://example.net')->assertSee('Example'); }); Phantomjs::test(/*...*/); Testing::tearDown(); // Required for closing all browsers.
上面的测试回调将通过截图、保存控制台日志和导致失败的网页的源代码来捕获任何失败的断言。
PHPUnit
在 Bhittani\WebBrowser
命名空间下包括一个 TestCase
类和一个 TestTrait
特性,使得使用 PHPUnit
编写浏览器测试变得容易。
变更日志
请参阅 CHANGELOG 了解更多有关更改的信息。
测试
$ git clone https://github.com/kamalkhan/web-browser $ cd web-browser $ composer install $ composer install-drivers $ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 shout@bhittani.com
而不是使用问题跟踪器。
致谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。