selenium - 使用 Javascript 进行敏捷开发

标签 selenium cucumber jasmine mocha.js zombie.js

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我希望在后端基于 web2py 和前端基于 Ember 的项目中采用敏捷开发。为此,我想使用行为驱动开发 (BDD) 工具,例如 Cucumber 和 Capybara for Rails。一个隐含的要求是编写用户故事的团队成员应该能够编写和运行 BDD 测试,而无需深入了解正在开发的代码。

我认为Cucumber.js结合 Zombie.jsSelenium将是一个很好的方法,但还有 JasmineMocha .两者都声称为 JavaScript 启用 BDD 测试,但我感觉它们更适合单元测试,而不是通过模拟真实用户如何与应用程序交互来测试 Web 应用程序。

任何用 Cucumber.js 尝试过 BDD 的人都可以吗? , JasmineMocha分享他们的观点,哪一个是使用 javascript 的 BDD 的更好选择?

另外,是否还有其他选择可以考虑?

最佳答案

对于完整的 BDD 测试堆栈,您可以使用:

1) cucumber.js + selenium + Soda (或其他节点适配器)+ node.js



2) cucumber.js + zombie.js + node.js

我个人会选择第二个选项,因为cucumber.js 在解析了用Gherkin 语法编写的场景/功能/步骤定义后为您提供了 stub javascript 代码。您可以使用此代码并另外设置您的僵尸世界,并为您的测试套件提供所有必要的断言辅助函数,您就完成了。我在 selenium 中看到的唯一优势是他的 Webdriver 功能(sauce labs 等)和记录功能,但我认为僵尸.js 中用于驱动测试的语法非常严格,也许您不需要所有功能 Selenium 为您提供。

关于 mocha 和 jasmine,如果你想要 Gherkin 语法,那么没有人会为你提供这个功能,但是如果你想以 Rspec 语法风格编写所有测试,你可以使用其中之一而不是 cucumber .js,这一切都取决于它的重要性小 cucumber 风格是给你的。

关于selenium - 使用 Javascript 进行敏捷开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305806/

相关文章:

python - 在 Linux 服务器上使用 Selenium 运行 Scrapy Web Crawler

selenium - 使用 BDD 加快持续集成流程

javascript - 测试使用 setInterval 或 setTimeout 的 Angular2 组件

javascript - 使用 Jasmine 和 TypeScript 进行单元测试

selenium - 使用 selenium 进行身份验证 (Python)

java - 如何找到文本字段弹出窗口的HTML元素id?

JavaScript 通过代码模拟右键单击

c# - Specflow - 带有数据表的场景轮廓

c# - 由外而内的 BDD(使用 Specflow)

angularjs - 在 Jasmine 中模拟服务并调用