3

我已经在使用单元测试来确保我当前的 Web 应用程序中的所有关键部分都能正常工作。但是如何测试 UI 以确保在用户点击按钮时发生正确的响应?- 我的意思是,如果按钮突然消失或停止工作,真的会弄得一团糟signup,所以我想执行这种 UI 测试也是常识。

从我到目前为止所读到的。Selenium, PhantomJS&似乎做我想做的事,但我对它们知之甚少。Zombie

但是还有哪些其他替代方案可用,在进行此类单元测试之前应该考虑什么?

4

3 回答 3

3

幻影和僵尸本质上是一回事。两者都是无头浏览器。无头意味着它表现为一个简单的浏览器(打开页面、运行脚本、呈现内容、处理 cookie 等),但不会向用户显示任何输出。

您使用 JavaScript 定义测试用例

  1. 打开 www.example.com 页面
  2. 在“用户名”文本字段中插入文本“Bob”
  3. 点击“早上好”按钮
  4. 检查(断言)“输出”字段是否包含“早上好 Bob”

Selenium是一组工具:

  • Selenium IDE - 一个 Firefox 插件,可以记录和播放您执行的操作。这意味着创建和运行测试用例不需要脚本语言知识!
  • Selenium WebDriver - 一个可以“控制”某些受支持浏览器的库。它实际上会打开一个选定的浏览器(比如 Firefox)并执行测试用例代码中描述的操作。(注意 Phantom 无头浏览器是 WebDriver 可以控制的浏览器之一)。
  • 一些更像 Grid 用于负载测试,但对此了解不多

总结一下

  • 如果您只想测试前端,并且对 JavaScript 有经验 - 选择 Phantom 或 Zombie
  • 如果您不想使用 JavaScript,请选择 Selenium IDE
  • 如果您想创建更复杂的测试(例如,将一些内容放入数据库,然后在浏览器中执行一些操作) - 使用 Selenium WebDriver
于 2014-02-27T15:23:02.010 回答
0

我最终使用了zombie.js它非常适合,因为我们内部已经有 javascript 知识。

于 2012-03-05T17:38:43.193 回答
0

使用 Selenium 会更好,因为它具有强大语言的优势

于 2012-12-14T05:32:58.583 回答