首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当运行"php artisan dusk“时,重定向命令行输出不起作用

当运行"php artisan dusk"时,重定向命令行输出不起作用的原因可能是由于Dusk测试框架的特性所致。Dusk是Laravel框架的一个端到端测试工具,用于模拟用户在浏览器中与应用程序进行交互的行为。

在Dusk测试中,由于其模拟了浏览器环境,测试代码会在一个独立的浏览器进程中运行。这意味着重定向命令行输出到文件或其他地方的常规方法可能无法起作用。

解决这个问题的一种方法是使用Laravel框架提供的日志记录功能。你可以在测试代码中使用Laravel的日志记录器,将输出信息记录到日志文件中。这样,你可以通过查看日志文件来获取测试过程中的输出信息。

另外,你还可以尝试使用Dusk提供的一些方法来获取测试过程中的输出信息。例如,你可以使用$browser->script()方法执行JavaScript代码,并将输出信息返回到测试代码中。然后,你可以将这些输出信息记录到日志文件或其他地方。

总结起来,当运行"php artisan dusk"时,重定向命令行输出不起作用的解决方法包括:

  1. 使用Laravel框架的日志记录功能,将输出信息记录到日志文件中。
  2. 使用Dusk提供的方法,如$browser->script(),获取测试过程中的输出信息,并将其记录到日志文件或其他地方。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云日志服务:https://cloud.tencent.com/product/cls
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云移动开发(移动推送、移动分析等):https://cloud.tencent.com/product/mobile
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Tencent XR):https://cloud.tencent.com/product/xr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 在 Laravel 中编写第一个 Artisan 命令

    ,会看到一个 artisan 文件,这个就是命令行交互的入口文件,就像 public/index.php 是 Web 请求的入口文件一样。...我们在执行 php artisan 命令artisan 就指的是根目录下的 artisan 文件,所以命令需要在应用根目录下执行,然后 artisan 之后的部门都是作为请求参数被控制台应用获取并处理...Artisan 命令可以传入的选项参数: -q:禁止所有输出 -v、-vv、-vvv:命令执行输出的三个级别,分别代表正常、详细、调试 --no-interaction:不会问任何交互问题,所以适用于运行无人值守自动处理命令...; } 这样,在应用根目录下运行 php artisan welcome:message 的话就可以打印上面这条欢迎信息了: 基于闭包实现 Artisan 命令 当然,就像我们可以在 routes/web.php...; })->describe('打印欢迎信息'); 这样我们就可以在命令行运行 php artisan welcome:message_simple 打印欢迎信息了,效果和上面通过命令类实现的一样。

    3.1K20

    Redis 分布式锁在 Laravel 任务调度底层实现中的应用

    :run,并且将标准输出和错误都重定向到空设备文件(即丢掉的意思,如果你想将输出记录下来,可以将 /dev/null 调整为对应的日志文件路径,或者你还可以为每个 Laravel 调度任务设置单独的日志输出... Laravel 应用处于维护模式下,默认不会执行任何任务调度。...调度任务是如何执行的 以上调度任务的注册是在控制台应用启动完成的,当我们运行 Artisan 命令就会启动控制台应用,比如 schedule:run,并且会注册所有的调度任务到 Schedule 对象的...那么如何在运行 schedule:run 获取到当前已到期的调度任务去执行呢?...回到 Event 对象中的 run 方法,如果当前命令行进程可以获取这把锁,就可以运行这个调度任务,否则退出,具体运行时,还会根据是否是后台任务进行区分,如果是后台任务,则通过 runCommandInBackground

    6.2K21

    【Laravel系列2.3】Laravel运行命令行脚本

    默认提供的脚本 在当前的框架目录中,我们在根目录执行 php artisan ,就可以看到命令行的帮助信息,这里就列出了所有已经存在的命令行脚本。第一篇文章中,我们就接触过这其中的两个命令。...# php artisan key:generate # php artisan serve 它们的作用一个是生成一个加密缓存等需要使用的唯一 Key ,另一个是运行一个自带的简易服务器。...其实 signature 就是我们通过 php artisan运行这个脚本所需要用到的那个名称。...比如我们现在直接执行 php artisan 的话,就会看到下面这样一条可执行命令行脚本的出现。...# php artisan ZyBlog:Test1 当然,我们还什么都没做呢,所以不会有什么输出。接下来我们把接收参数和输出信息一起做了。

    1.7K20

    LaravelLumen 使用 redis队列

    要生成创建这些表的迁移,可以在项目目录下运行 Artisan 命令 queue:table,迁移被创建之后,可以使用 migrate 命令生成这些表: php artisan queue:table php...artisan queue:failed_jobs php artisan migrate 运行后生成failed_jobs、jobs、migrations三张表。...类似的,队列任务最大运行时长(秒)可以通过 Artisan 命令上的 --timeout 开关来指定: php artisan queue:work --timeout=30 同样,你也可以在任务类中定义该任务允许运行的最大时长...该功能特性在队列任务与有频率限制的 API 交互很有帮助,例如,通过 throttle 方法,你可以限定给定类型任务每 60 秒只运行 10 次。...简单处理可以使用 php artisan queue:work --daemon & 10、运行队列监听器 开始进行队列监听 laravel 包含了一个 Artisan 命令来运行推送到队列中的任务的执行

    2.4K20

    Laravel中简单使用队列加快访问速度

    特别是同一间发送多个邮件。 程序员啊,就是折腾的命啊! 步骤 迁移队列需要的表 才开始尝试使用队列,还是简单点,使用数据库就行。...运行迁移文件 php artisan queue:table ? 以上是队列所需数据表 php artisan queue:failed-table ?...以上是队列任务运行失败的记录表 多了两张表,好了,不用管了。 ? 执行迁移文件 php artisan migrate ?...附命令 附上一些常用命令 1、运行队列监听器 php artisan queue:listen 如果执行成功, jobs 中的数据表就没有数据了 如果执行失败,可以在日志中查看原因, 默认是 storage.../logs/laravel-xxx.log 2、处理失败的任务 在任务失败, 你可以选择 清除失败的任务或者 重新执行失败的任务 查看所有失败的任务, 会将所有失败的任务查询出来输出命令行

    1.6K00

    使用 Laravel 制定 MySQL 数据库备份计划任务

    mysqldump -u[user] -p[pass] [db] > [file_path] 正如你所看到的那样,我们需要传入用户名、密码和需要导出的 DB,然后将输出重定向到指定的文件。...现在让我们将这个命令通过使用 artisan 命令进行封装,使其更易于运行和可加入计划任务。...通过运行 php artisan make:comman 命令来创建一个自定义命令。这里我们的命令命名为 BackupDatabase。创建完你的命令后,Laravel 会自动的将命令注册到系统中。...若要运行这个调度器,我们需要执行 php artisan schedule:run 命令,然后它会触发所有需要运行的命令。这很棒,我们仅需一行命令就可以在指定的时间触发对应的任意命令。...我们仅需向前面介绍的那样定义任务执行手气,然后运行任务调取器就好了。 不过,我们需要设置运行 php artisan schedule:run 命令的时间。

    2.9K10

    PHP的CLI命令行运行模式浅析

    当然也是为了效率着想,一个事务有可能会有较长的耗时时,往往会交由服务器的定时器来固定时间调用脚本进行处理,从而让客户端能够有更好的用户体验。...CLI 的输出没有任何头信息 CLI 在运行时,不会把工作目录改为脚本的当前目录 CLI 出错输出纯文本的错误信息(非 HTML 格式) 强制覆盖了 php.ini 中的某些设置,因为这些设置在外壳环境下是没有意义的.../MyDoc/博客文章 我们选取最典型的一个例子,我们运行的这个文件中,使用 getcwd() 输出当前脚本运行的目录,可以看出两种运行方式输出的结果明显不同。...php-cgi 是以文件所在目录为基准输出,而 php 则是以当前运行这个命令的目录为基准输出。 直接运行 PHP 代码 在做一些简单的调试的时候,我们可以直接通过 CLI 来运行一段代码。...当然,大部分框架都提供了用于命令行的脚本框架,比如 laravel 中可以通过 php artisan make:command 来创建命令行脚本,然后使用 php artisan运行框架中的脚本。

    1.7K21

    【Laravel系列7.9】测试

    php artisan make:test CulTest --unit 执行命令后,会在 tests/Unit 目录下生成一个 CulTest.php 文件。接下来就在这个文件中写测试。...那么我们就来运行一下 php artisan test 看看结果是怎样的。 结果符合我们的预期,整个测试实例是失败的,那是因为其中一个测试方法没有通过断言。...创建 HTTP 测试也可以使用命令行php artisan make:test ZyBlogTest 是的,你没看错,和单元测试类的区别就是不用加后面那个 --unit 了。...$food); }); 第一个命令行,直接输出一段文字。第二个则是交互式命令行,会提示让你选择午饭,然后返回你选择的内容。...你可以直接运行 php artisan testconsole 或者 php artisan question 看看效果。

    1.2K10

    Laravel源码解析之Console内核

    , 我们都知道PHP是通过全局变量 $_SERVER['argv']来接收所有的命令行输入的, 和命令行里执行shell脚本一样(在shell脚本里可以通过 $0获取脚本文件名, $1 $2这些依次获取后面传递给...shell脚本的参数选项)索引0对应的是脚本文件名,接下来依次是命令行里传递给脚本的所有参数选项,所以在命令行里通过 artisan脚本执行的命令,在 artisan脚本中 $_SERVER['argv...(shell脚本里其实也是一样,会通过shell函数getopts来解析各种格式的命令行参数输入),同样地Laravel使用了 Symfony\Component\Console\Output对象来抽象化命令行的标准输出...return $exitcode; } } 执行命令主要有三步操作: 通过命令行输入解析出命令名称和参数选项。 通过命令名称查找命令类的命名空间和类名。...结束应用 执行完命令程序返回状态码后, 在 artisan中会直接通过 exit($status)函数输出状态码并结束PHP进程,接下来shell进程会根据返回的状态码是否为0来判断脚本命令是否执行成功

    1.8K20

    Laravel框架关键技术解析

    ,在实例化对象,static会根据运行时调用的类来决定实例化对象,而self是根据所在位置的类来决定实例化对象 4.Laravel示例:Illuminate\Database\Eloquent\Model.php...:exp2,exp1==true,返回exp1,否则返回exp2 https://github.com/zhangyue0503/php/tree/master/laravelkuangjiaguanjianjishujiexi...,服务提供者相当于神经系统 2.服务提供者首先需要将各个功能模块具备的功能注册到服务容器中,需要完成某些功能,服务容器会通过服务提供者注册的服务完成相应的准备,然后会调用准备好的功能模块实现相应的功能...artisan make:migration 文件名 —create=表名 php artisan migrate php artisan migrate:rollback 3.数据库填充文件及命令:...Laravel/database/seeds下 php artisan make:seeder XXXXSeeder //创建,第一次要composer down-autoload一下 php artisan

    11.9K20

    Laravel7中Redis队列的使用

    二、编写队列任务 首先我们通过如下Artisan命令创建任务类: php artisan make:job SendReminderEmail 运行成功后会在app/Jobs目录下生成一个SendReminderEmail.php...在浏览器中访问http://laravel.app:8000/mail/sendReminderEmail/1,此时任务被推送到Redis队列中,我们还需要在命令行运行Artisan命令执行队列中的任务...Laravel为此提供了三种Artisan命令: queue:work 默认只执行一次队列请求, 请求执行完成后就终止; queue:listen 监听队列请求,只要运行着,就能一直接受请求,除非手动终止...; queue:work --daemon 同 listen 一样, 只要运行着,就能一直接受请求,不一样的地方是在这个运行模式下,新的请求到来的时候,不重新加载整个框架,而是直接 fire 动作。...所以我们接下来在命令行运行如下命令: php artisan queue:work --daemon

    97920

    Laravel 控制台命令行artisan

    laravel 控制台命令行artisan Artisan 是 Laravel自带的命令行接口,它提供了许多实用的命令来帮助你构建Laravel 应用。...要查看所有可用的 Artisan 命令的列表,可以使用 list 命令: php artisan list 每个命令包含了「帮助」界面,它会显示并概述命令的可用参数及选项。...只需要在命令前面加上 help 即可查看命令帮助界面: php artisan help migrate 编写命令# 除 Artisan 提供的命令之外,还可以构建自己的自定义命令。...不必担心应用中不存在这个目录,因为它会在你第一次运行 Artisan 命令 make:command 创建。...$this->argument('name')); } } } 修改完代码 执行php artisan list查看当前命令是否生成 接着运行php artisan HelloWorld

    1.2K10

    Laravel5.2之Demo1——URL生成和存储

    (4)、使用Laravel的Artisan CLI工具命令创建migrations迁移文件,可以在终端进入项目根目录输入php artisan命令查看Artisan命令列表。...执行数据表迁移命令php artisan migrate执行的是up()方法;执行回滚上一次迁移命令php artisan migrate:rollback执行的是down()方法,该命令具有破坏性会删除...曾经遇到一个场景:需要给数据表test增加一个字段age但又要保留test表里数据,可以再创建一个迁移文件php artisan make:migration create_links_table --...在项目根目录执行Artisan命令php artisan make:model Link后,生成app/Link.php文件,这个model通过配置用来管理MySQL中的links数据表,在Link这个...原文书中是直接在路由中匿名函数里写数据存储逻辑,这里个人还是先创建一个控制器php artisan make:controller UrlController,在控制器里写数据存储逻辑比较好。

    24.1K31

    在 Laravel 中编写高级的 Artisan 命令

    ; } 这样,我们运行 php artisan welcome:message,带上参数和选项信息,就可以输出对应的欢迎信息了: 用户交互 除了在命令行运行命令手动设置参数值和选项值获取输入信息之外...'访问 Laravel 学院'); } else { exit(0); } } } 现在,我们在命令行运行 welcome:message...命令,就会以交互方式让我们输入信息了: 输出信息 在命令执行过程中,需要输出信息给用户,告知用户执行进度、结果或者错误信息,否则会相当不友好。...和表数据 data,这段代码输出结果如下: 进度条 如果你之前运行过 npm install,就会看到安装过程中有进度条显示安装进度,在 Artisan 命令执行过程中,也可以显示类似的进度条,实现代码如下...在应用代码中调用 Artisan 命令 除了在命令行运行 Artisan 命令之外,还可以在应用代码中通过 Artisan 门面调用它。

    8.2K20
    领券