【发布时间】:2011-10-28 18:34:16
【问题描述】:
我无法让 Lettuce / Splinter 或 JsTestDriver 运行用户与 Backbone 生成的 DOM 对象交互的测试。例如,在hello backbone tutorial,我想模拟用户点击标记为“添加列表项”的按钮,然后验证是否出现了文本“hello world1”的<li>元素。
JsTestDriver:我可以获得对按钮元素的引用并在其上调用click(),但随后document.getElementsByTagName("li") 失败(或返回null?)。
Johansen 的优秀book 说测试事件处理程序不是正确的单元测试任务。所以我为 Django 尝试了我的 BDD (?) 工具:
Lettuce / Splinter / Django: Splinter Browswer 对象看不到按钮中的文本,没关系获取对它的引用或单击它。 (它确实处理通过 HTML 创建的元素的这些操作。) world.browser.is_text_present() 和 find_by_id() 都不起作用;将等待时间传递给前者并没有帮助。
我真的希望避免直接使用 Selenium,并认为这些工具使这变得不必要。那么现在呢?
【问题讨论】:
-
您还在寻找答案吗?我不想复活僵尸。
标签: javascript testing bdd lettuce js-test-driver