bhittani/web-browser

laravel/dusk 的便捷封装

0.2.0 2021-06-20 12:08 UTC

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

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 shout@bhittani.com 而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件