我写了Laravel Dusk测试。我试图断言在打开模式后是否可以看到一些文本。因此,我正在使用B
方法。但是它失败了,尽管我可以在屏幕截图中看到文本。
whenAvailable
我收到以下消息:
有1个失败:
1)Tests \ Browser \ RegistrationTest :: testRegistration没有看到 元素[body#modal-payment-info]中的预期文本[Payment]。 无法断言false为真。
屏幕截图:
我在做什么错了?
答案 0 :(得分:1)
我有一个解决方法。我添加了1秒的暂停,效果很好。
$browser->press('@finish-setup-button')
->whenAvailable('#modal-payment-info', function ($modal) use($paymentInfo) {
$modal->pause(1000)
->assertSee(html_entity_decode(__('account_setup.payment')))
->type('name', $paymentInfo->name)
->type('iban', $paymentInfo->iban)
->type('bic', $paymentInfo->bic)
->press('@subscribe-button');
});
答案 1 :(得分:0)
我只是遇到了同样的问题,我认为在测试断言时根本就不存在,但是在截取屏幕截图时就出现了。
也可以使用->waitForText()
而不是增加1秒的延迟,这样可以消除大多数不必要的等待时间。