皮卡基/dusktests-plugin

启用使用Laravel的Dusk测试框架编写测试。

安装: 281

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 3

开放问题: 0

类型:october-plugin

1.0.1 2017-12-16 09:29 UTC

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容器

除了这些说明外,请参阅此处