使用 Laravel 测试两个具有相同输入名称的表单

Posted

技术标签:

【中文标题】使用 Laravel 测试两个具有相同输入名称的表单【英文标题】:Testing with Laravel two forms with the same input name 【发布时间】:2018-02-20 14:10:30 【问题描述】:

我在同一页面上有两个表单。这些表格是登录和注册。它们位于 Modals 上,这就是它们在同一页面上的原因。

在使用 phpUnit 进行测试时,我想测试注册表单,所以我正在这样做:

$this->visit('/')
  ->click('Sign up')
  ->see('Already have an account?')
  ->type('test@email.com', 'email')
  ->type('password', 'password')
  ->type('password', 'password_confirmation')
  ->press('submit-sign-up')

问题是名称 email 的输入也出现在登录表单中。

我知道我可以只更改输入名称,但我想知道是否有办法以任何方式测试注册表单的输入。

【问题讨论】:

您可以通过表单名称或提交输入的名称进行检查。 【参考方案1】:

研究我找到了我的问题的答案。有一个函数调用 submitForm 允许您指定要测试的表单,然后发送输入数组及其值:

protected function submitForm($buttonText, $inputs = [], $uploads = [])

【讨论】:

以上是关于使用 Laravel 测试两个具有相同输入名称的表单的主要内容,如果未能解决你的问题,请参考以下文章

Laravel提交表单具有相同的输入名称ajax

JOOQ 连接两个具有相同列名的表

从名称具有相同首字母的表中选择

具有相同角色的身份验证用户与Guard Laravel相同

当多个输入具有相同名称时,根据输入类型设置 jquery 表单验证

我需要在输入框中更改一些具有相同 innerhtml 的表 td 类[重复]