我正在对使用 Symfony2 (2.1) 完成的应用程序进行一些功能测试,但遇到了问题。
我的网站的某些部分会在用户单击链接或其他元素时加载,但这些操作是使用 jQuery 和 $.post 调用执行的。我如何让 Symfony2 爬虫执行这些调用?
当我做这样的事情时:
$link = $crawler->filter('ul.line_menu a')->eq(1)->link();
$crawler = $client->click($link);
爬虫获取“a”元素的“href”并启动它,但“href”为空,并且“click()”函数与该元素关联,通过“preventDefault(”阻止点击操作)”。
谢谢大家!! :)
最佳答案
Symfony 功能测试通过直接调用 Symfony 内核来测试您的代码。它们不是通过网络浏览器运行,因此不支持 javascript(根本不执行)。
如果没有 JavaScript 就无法运行您的应用程序,那么您必须使用其他工具进行功能测试。选项之一是使用 Mink使用支持 javascript 的驱动程序之一(例如 Selenium2 )。
关于jquery - Symfony2 功能测试 - 通过 jQuery 交互单击元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240634/