gpt4 book ai didi

php - 使用 Symfony DomCrawler 在选择输入中选择不可能的值

转载 作者:可可西里 更新时间:2023-11-01 00:32:27 24 4
gpt4 key购买 nike

如果我在表单的 select 输入中发送了错误的值,我想测试我的应用程序的行为。

这是我的 HTML 表单:

<form (...)>
(...)
<select name="select_input">
<option value="1">text</option>
</select>

</select>

在我的测试中,使用爬虫获取表单并尝试“选择”不正确的值:

$form['select_input'] = 9999999;
$client->submit($form);
/* EDIT */
/*I am expecting the user to not be redirected to the user page,
and the server to respond with the same form, containing an error message */
$this->assertFalse($client->getResponse()->isRedirect('/success_page'));
$this->assertEquals(1, $client->getCrawler()->filter('input.error'));

但在控制台中,我收到消息:

InvalidArgumentException: Input "user_profile[voteProfile]" cannot take "9999999" as a value (possible values: 1)

如何选择不正确的值来测试答案?真实服务器可能会发送错误的值。

最佳答案

disableValidation函数允许在选项中选择不可能的值:

$form = $crawler->selectButton('button')->form();
$form->get('select_input')->disableValidation()->setValue(999999);

$client->submit($form);

工作完成了!

关于php - 使用 Symfony DomCrawler 在选择输入中选择不可能的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22884366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com