1

假设页面http://test.intra具有以下表单代码:

<form>
<textarea id="description" name="description">&lt;p&gt;Hello&lt;/p&gt;</textarea>
<input type="submit" name="submit_save" id='submit_btn' value="Save">
</form>

description field在浏览器上以 value 提交&lt;p&gt;Hello&lt;/p&gt

但使用以下代码:

$crawler = $client->request('GET', 'http://test.intra');     
/* $client is a instance of \Symfony\Bundle\FrameworkBundle\Client ] 
 * $crawler is a instance of \Symfony\Component\DomCrawler\Crawler
*/

$domForm = $crawler->filter('form');
$domForm = $domForm->selectButton('submit_btn');
$this->client->submit($form);

description field以价值提交&amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;

客户端 [ \Symfony\Bundle\FrameworkBundle\Client] 是否应该在调用提交之前解码表单数据?我错过了什么吗?

谢谢

4

1 回答 1

0

我不完全确定你在问什么,但我注意到你的代码不正确。

$crawler = $client->request('GET', 'http://test.intra');

$domForm = $crawler->filter('form')->form();
$crawler = $this->client->submit($domForm);

现在你可以在 $crawler 上检查你的断言了。

$this->assertTrue($this->client->getResponse()->isSuccessful());
于 2015-12-07T23:41:29.160 回答