问题标签 [laravel-dusk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
550 浏览

laravel - 使用 Laravel Dusk 单击类的第一个实例

我在最后一列中有一个带有一列按钮的表格,我想测试这些按钮是否按预期工作,我试图抓住页面上的第一个按钮(第一行最后一个单元格中的第一个按钮)但我选择它时遇到问题,我一直在寻找解决方案,但到目前为止还没有解决方案;

0 投票
1 回答
1201 浏览

laravel-5.4 - 如何在laravel黄昏中处理具有同一类的多个元素

在我的黄昏测试中,我想先添加然后删除新闻。每个新闻都有.delete-news类,但在屏幕上我有多个元素。每个 .delete-news 类在其路径数据属性中都有其 id data-newsid="id"。现在浏览器不知道应该点击哪个删除新闻类。我应该如何管理?

可能我应该选择具有最大 data-newsid 属性的 delete-news 类。但我不知道我应该如何检查它。

目前我正在像这样删除它:

0 投票
0 回答
762 浏览

php - 覆盖 Laravel 中的 trait 以改变 Dusk 的行为

我有一个 Laravel 5.4 项目,正在尝试使用 Dusk 运行一些测试。我想在运行测试之前重置、迁移和播种。我已经将它设置为使用 SQLite,理想情况下希望在内存中运行它,但物理文件也可以。

我能够通过更改 Illuminate\Foundation\Testing\DatabaseMigrations 得到我想要的;原文:

我的版本:

但当然,我会在未来的一些更新中放弃这一点,所以我需要覆盖我的特性。

我将特征复制到 App\Traits\DatabaseMigrations.php 并更改了命名空间。

MyTest.php 如下:

但这不起作用。我收到一个错误:PDOException: SQLSTATE[HY000]: General error: 1 no such table: users

所以不知何故,迁移不会在没有错误的情况下运行,但结果是我的测试失败了,因为没有表。

什么工作是这样的:

但我不喜欢将该方法放入每个测试文件中。有谁知道为什么一种方法有效,而另一种方法无效?第一种方法在我看来,对OOP知之甚少,完全正常。

0 投票
4 回答
8673 浏览

laravel-dusk - 如何检查 laravel 黄昏测试中是否存在元素?

在下面的代码中,我想检查元素是否存在于 XPath 中,那么只有它应该执行代码。

或者请建议是否有另一种方法来检查 laravel 黄昏中是否存在元素。PS我尝试了whenAvailable方法,但在这种情况下它对我没有帮助。

0 投票
1 回答
392 浏览

unit-testing - 黄昏是强制写phpunit测试用例的吗?laravel 5.4如何写phpunit测试用例?

我是laravel的新手。我正在使用 laravel 5.4 版本,我们需要为我们的应用程序编写 phpunit 测试用例,所以我搜索了编写 phpunit 测试用例并阅读了 laravel 网站上的文档。我阅读了有关进行浏览器测试的“黄昏”功能。所以,我有一个疑问,“黄昏对于在 laravel 5.4 中编写 phpunit 测试用例是强制性的吗?我还尝试将 'dusk' 包安装到我们的应用程序中,但在我运行命令“composer”后它没有安装需要 laravel/黄昏”。

以下是我在命令提示符下遇到的错误:

任何人请告诉我如何解决它?还有在 laravel 5.4 中编写测试用例的过程是什么?我们应该使用“黄昏”吗?或任何其他方式来做到这一点?谢谢。

0 投票
1 回答
2127 浏览

php - Laravel Dusk 打开不正确的站点 URL

所以我正在运行我的网站http://localhost:8080,下面是我的测试:

在运行php artisan dusk时,它会打开错误的 URL,即http://localhost. 如果我提到完整的 URL,那么它可以工作。

如何让它打开正确的 URL?

0 投票
0 回答
790 浏览

laravel - Laravel Dusk Internal Script Failure

I am having problems with Laravel Dusk in my application. I created a new Laravel 5.4 project inside of a Vagrant Box and I installed Dusk according to the directions in the official documentation (https://laravel.com/docs/5.4/dusk). When I run phpunit ExampleTest.php I get the following error:

When I try to run it with php artisan dusk I get:

I have no idea what is causing this issue. Tests\DuskTestCase is most definitely in my ExampleTest.php file. Also, if it helps, the autoload-dev section of my composer.json file is as follows:

Does anyone have any idea what is going on? I can't seem to find a solution anywhere. Thanks in advance for any help.

0 投票
1 回答
43 浏览

laravel - 外观总是通过测试,不管我期望什么回报

一个非常基本的模型,预期回报是:

8 john

所以我想写的是:

它总是通过,无论我是否将 8 join 写入返回或其他内容。

但是,一旦我开始将 say:addTwoNumbersAndAddName 更改为其他内容,它就会失败,否则->with(4,10, 'john')将失败

只有->andReturn()不会工作

我正在使用 laravel 5.4 和命令 php artisan Huang

0 投票
1 回答
817 浏览

php - 如何重用 Dusk 测试浏览器实例?

我在 Laravel 5.4 框架上的项目,我正在使用Dusk进行浏览器测试。我有一个页面,其中有几个部分我想独立测试,但是我遇到了一个问题,我必须为每个单独的测试启动一个新的浏览器实例、登录并导航到该页面。

因此,当我有 4-5 个这些时,我会为每个测试类class allTheThingsTest extends DuskTestCase生成4-5 个浏览器实例。显然,这很快就会失控,尤其是当我在部署前运行所有测试时。

就我而言,每个测试类一个浏览器实例是可以接受的,但我不知道如何做到这一点。所以这就是我要问的:

  • 是否可以在单个测试类中的测试函数之间记住/重用浏览器实例?
  • 如果是这样,怎么做?
0 投票
0 回答
861 浏览

php - 为什么我的 Laravel Dusk 测试无法使用 Jenkins 访问我的网站?

我目前使用 Laravel Dusk 进行了一些浏览器测试,它们在宅基地上运行良好。我正在使用 Jenkins 进行持续集成,虽然我的单元测试运行良好,但所有 Dusk 测试都失败了。

我确保之前运行过 Xvfb,所以我得到了 Jenkins 在尝试运行测试时“看到”的屏幕截图:

在此处输入图像描述

可能是什么问题?它是与.env文件有关的东西还是可能DuskTestCase.php

这是我的DuskTestCase.php

这是我正在尝试运行的测试示例: