皮卡基 / dusktests-plugin
启用使用Laravel的Dusk测试框架编写测试。
1.0.1
2017-12-16 09:29 UTC
Requires
- php: >=7.0
- composer/installers: ~1.0
- laravel/dusk: ^2.0
- october/system: >=1.0.420
This package is auto-updated.
Last update: 2024-09-29 04:43:06 UTC
README
此插件使您能够在OctoberCMS项目中使用Laravel Dusk测试框架。
用法
安装
安装选项包括;
- OctoberCMS UI(目前尚不可用)
- Composer
- 手动
git clone
使用Composer
在项目根目录执行以下命令
composer require --dev pikanji/dusktests-plugin
php artisan dusk:install
手动Git Clone
虽然安装依赖项仍然需要Composer,但您可以在不将其添加到composer.json的情况下安装此插件。在项目的插件目录中创建pikanji目录,然后简单地在其中执行git clone。
cd plugins
mkdir pikanji
cd pikanji
git clone git@github.com:pikanji/oc-dusktests-plugin.git dusktests
在项目根目录执行以下命令。
composer update
php artisan dusk:install
执行测试
Dusk附带示例测试(tests/Browser/ExampleTest.php)。您可以通过运行此测试来测试设置。
修复示例测试
ExampleTest.php检查是否在加载的网页中找到了字符串"Laravel"。假设您使用的是demo主题的最新副本,将ExampleTest.php中的"Laravel"更改为"October CMS"以使测试通过。
public function testBasicExample()
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->assertSee('October CMS');
});
}
运行测试
假设您在本地机器上运行Web服务器进行测试,并且已安装Chrome浏览器,请在项目根目录执行以下命令。如果您在Docker容器上运行Web服务器,请参阅此处以及以下说明。
php artisan dusk
测试可能非常慢。请等待几分钟,看它是否有进展。
截图默认存储在tests/Browser/screenshots中。可能有一些配置可以更改它。
扩展超时
如果您收到超时错误,您可以在tests/DuskTestCase.php中尝试扩展超时,如下所示。在我的情况下,1分钟不够。所以我将其改为3分钟。
return RemoteWebDriver::create(
'http://192.168.1.115:4444/wd/hub', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
), 180*1000, 180*1000
);
使用Docker容器
除了这些说明外,请参阅此处。