Symfony2功能测试 - 点击带有jQuery交互的元素

use*_*588 8 jquery phpunit web-crawler functional-testing symfony

我正在为使用Symfony2(2.1)完成的应用程序做一些功能测试,我遇到了问题.

当用户单击链接或其他元素时,我会加载网站的某些部分,但这些操作是使用jQuery和$ .post调用执行的.如何让Symfony2抓取工具进行这些调用?

当我做这样的事情时:

$link    = $crawler->filter('ul.line_menu a')->eq(1)->link();
$crawler = $client->click($link);
Run Code Online (Sandbox Code Playgroud)

爬虫获取"a"元素的"href"并启动它,但"href"为空,并且"click()"函数与此元素相关联,从而阻止了使用"preventDefault()"的单击操作.

谢谢大家!!:)

Jak*_*las 8

Symfony功能测试通过直接调用Symfony内核来运行您的代码.它们不是通过Web浏览器运行的,因此不支持javascript(根本不执行).

如果没有javascript就无法运行您的应用程序,那么您必须使用其他工具进行功能测试.其中一个选项是将Mink与其中一个支持javascript的驱动程序一起使用(如Selenium2).