jquery - Symfony2 功能测试 - 通过 jQuery 交互单击元素

标签 jquery symfony phpunit functional-testing web-crawler

我正在对使用 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/

相关文章:

javascript - 在 jquery easy ticker 元素 IE8、IE9、IE10、IE11 内的侧边栏中剪切的文本

selenium-webdriver - 如何让 Selenium 在执行 click() 命令之前等待页面完全加载

php - 如何在 Doctrine2/Symfony2 的存储库中获取外部存储库?

php - 设置方法只运行一次

PHPUnit - 创建 Mock 对象作为属性的 stub

jquery - Primefaces 日历,为周末和节假日应用自定义样式

jquery - 在 jquery 中从 xml 文档中检索不同的属性

javascript - div 正在淡入,但突然淡出(Jquery)

symfony - 教义2中的多态关系

forms - Symfony 2 GenemuFormBundle 如何使用 Ajax 创建 jQuery Select2