unglud / dusker
独立的Laravel Dusk测试套件,无需Laravel框架本身。
Requires
- php: >=7.0
- composer/composer: ^1.0
- illuminate/config: ^5.5
- illuminate/container: ^5.5
- illuminate/events: ^5.5
- illuminate/filesystem: ^5.5
- illuminate/support: ^5.5
- laravel/dusk: ^2.0
- phpunit/phpunit: ^6.0
- symfony/filesystem: ^3.3
- symfony/http-kernel: ^3.3
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- mikey179/vfsstream: ^1.6
- mockery/mockery: ^1.0
This package is not auto-updated.
Last update: 2024-09-15 05:02:50 UTC
README
独立的Laravel Dusk测试套件,无需Laravel框架本身。
Laravel Dusk 提供了一个易于使用的浏览器自动化和测试API。默认情况下,Dusk不需要你在机器上安装JDK或Selenium。相反,Dusk使用独立的Chrome驱动程序。但是,你可以自由使用任何你想要的Selenium驱动程序。
安装
要开始使用,你应该将unglud/dusker Composer依赖项添加到你的项目中
composer require --dev unglud/dusker
接下来,你需要将所有必要的文件复制到你的工作目录。下面的命令会为你做这件事。它创建(或使用现有的)tests
目录并将文件放在那里。同时,它将 artisan
控制台工具复制到你的项目根目录。 如果你已经有了这个文件,它将被覆盖!
文件 .env.dusk
也将位于你的项目根目录中,你需要将其重命名为 .env
或将其内容复制到现有的一个。
composer run-script post-install-cmd -d ./vendor/unglud/dusker
如果你希望这些文件在更新此包时自动更新,你可以将其添加到你的 composer.json
文件中
"scripts": {
"post-install-cmd": [
"Dusker\\CopyFile::copy"
],
"post-update-cmd": [
"Dusker\\CopyFile::copy"
]
},
"extra": {
"copy-file": {
"vendor/unglud/dusker/src/example/": "tests/",
"vendor/unglud/dusker/artisan": "artisan"
}
}
如你所见,文件 .env.dusk
没有包含在内,以简化事情。
安装完包后,Artisan命令将在你的根项目中可用。运行 dusk:install
Artisan命令
php artisan dusk:install
现在尝试运行测试,以确保一切正常工作
php artisan dusk
如何使用
在这部分之后,你可以使用Laravel网站上的官方Dusk文档 Laravel网站,因为它的使用方法将与Taylor Otwell 设计的方式完全相同。
身份验证
通常,你会测试需要身份验证的页面。你可以使用Dusk的loginAs方法来避免在每次测试中与登录屏幕交互。loginAs方法接受用户 login
和 password
$this->browse(function (Browser $browser) {
$browser->loginAs('username', 'password')
->visit('/home');
});
使用loginAs方法后,用户会话将在文件中的所有测试中保持。
身份验证设置
由于我们没有访问Laravel的本地 Auth
和 Router
,因为我们在没有Laravel的情况下使用它,我们需要设置登录功能。在 .env
中,你应该指定 LOGIN_ENDPOINT
-- Dusker将复制文件的可访问路径,该文件位于你的公共目录中。默认为 http://example.com/_dusker/login.php
。第二个 LOGIN_IMPLEMENTATION
-- 利用你的项目逻辑允许身份验证的类的路径。你可以使用 /tests/LoginManagerExample.php
作为其外观的示例。
许可证
Dusker是在MIT许可证下发布的。有关详细信息,请参阅捆绑的 LICENSE 文件。