Unit testing 测试web应用程序的UI?

Unit testing 测试web应用程序的UI?,unit-testing,user-interface,selenium,phantomjs,zombie.js,Unit Testing,User Interface,Selenium,Phantomjs,Zombie.js,我已经在使用单元测试来确保当前web应用程序中的所有关键部分都能正常工作。但是如何测试UI以确保在用户点击按钮时做出正确的响应呢我的意思是,如果注册按钮突然消失或停止工作,那真的会搞得一团糟,所以我想执行这种UI测试也是常识 从目前为止我所读到的情况来看似乎做了我想做的,但我对他们知之甚少 但是在做这类单元测试之前还有什么可供选择的和应该考虑的呢? < p>我最终使用了僵尸.js这是一个相当好的拟合,因为我们已经拥有了JavaScript知识。僵尸本质上是一样的。两者都是无头浏览器。Headle

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

从目前为止我所读到的情况来看似乎做了我想做的,但我对他们知之甚少


但是在做这类单元测试之前还有什么可供选择的和应该考虑的呢?

< p>我最终使用了<代码>僵尸.js<代码>这是一个相当好的拟合,因为我们已经拥有了JavaScript知识。僵尸本质上是一样的。两者都是无头浏览器。Headless意味着它的行为就像一个简单的浏览器(打开页面、运行脚本、呈现内容、处理cookies等),但不向用户显示任何输出

您可以使用JavaScript定义测试用例

  • 打开www.example.com页面
  • 在“用户名”文本字段中插入文本“Bob”
  • 点击“早上好”按钮
  • 检查(断言)“输出”字段是否包含“早上好Bob”
  • Selenium是一套工具:

    • Selenium IDE-一个Firefox插件,可以录制和播放您执行的操作。这意味着创建和运行测试用例不需要脚本语言知识
    • SeleniumWebDriver——一个可以“控制”某些受支持浏览器的库。它实际上打开一个选定的浏览器(比如Firefox)并执行测试用例代码中描述的操作。(请注意,Phantom headless browser是WebDriver可以控制的浏览器之一)
    • 有些人更喜欢网格负载测试,但对此不太了解
    总结
    • 如果您只想测试前端,并且有JavaScript方面的经验,请选择Phantom或Zombie
    • 如果不想使用JavaScript,请选择Selenium IDE
    • 如果要创建更复杂的测试(例如,将某些内容放入数据库,然后在浏览器中执行某些操作),请使用Selenium WebDriver

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