【问题标题】:Testing the UI of web applications?测试 Web 应用程序的 UI?
【发布时间】:2012-03-15 02:24:37
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么不从其中之一开始呢?他们都工作得非常非常好,否则他们就不会成为领导者。我建议从教程开始,而不是在这里提问。

标签: unit-testing user-interface selenium phantomjs zombie.js


【解决方案1】:

我最终使用了zombie.js,这是一个非常合适的选择,因为我们内部已经掌握了 javascript 知识。

【讨论】:

    【解决方案2】:

    Selenium 拥有强大语言的优势,你会更好

    【讨论】:

      【解决方案3】:

      幻影和僵尸本质上是一回事。两者都是 headless 浏览器。无头意味着它表现为一个简单的浏览器(打开页面、运行脚本、呈现内容、处理 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

      【讨论】:

        猜你喜欢
        • 2012-05-30
        • 1970-01-01
        • 2010-11-11
        • 1970-01-01
        • 1970-01-01
        • 2010-11-17
        • 2017-07-11
        • 2020-08-13
        • 1970-01-01
        相关资源
        最近更新 更多