dongnaota6386 2018-08-07 15:29
浏览 56
已采纳

使用phpunit 6.5.1 symfony 3.4按钮问题进行功能测试

I am trying to test my small web app with phpunit but Im having difficulty submitting forms and accessing the buttons with the crawler. I can't seem to login as the node always reports as empty. I believe the issue may be with the submit button, possibly trying to reference it.

private $client = null;

 public function setUp()
 {
    $this->client = static::createClient();
    $this->testlogIn();
 }

   public function testLogIn()
{
    $crawler = $this->client->request('GET', '/login');
    $form = $crawler->filter('button#logIn')
      ->form(
            [
              '_username' => 'AdminAccountKyleTest',
              '_password' => 'test'
            ],
            'POST'
        );

    $this->client->submit($form);

    $this->assertContains('Homepage', $crawler->filter('body > div.main > div > div > div:nth-child(2) > h1')->text());
}    

This is the twig template for the button:

  <button class="btn btn-lg btn-primary btn-block" id="logIn" 
type="submit">Sign in</button>

Does phpunit have an issue when the button is rendered in the twig instead of a SubmitType on a form ?

  • 写回答

1条回答 默认 最新

  • duai8153 2018-08-07 22:09
    关注

    Test you form using the following snippet:

        //selectButton accepts the button id|name|text
        $form = $crawler->selectButton("logIn")->form();
    
        $form['_username'] = 'AdminAccountKyleTest';
        $form['_password'] = 'test';
    
        $client->submit($form);
    
        //follow the form request redirect after login_check
        $client->followRedirect();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C#字典调用时报错,有关文件加载
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 关于PHP中POST获取数据的问题
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Python实现hog特征图可视化
  • ¥30 德飞莱51单片机实现C4炸弹
  • ¥50 CrossLink-LIF-MD6000 型 FPGA 的 CMOS 转 MIPI D-PHY IP 核功能使用异常