测试Web应用程序的用户界面?

3
我已经在使用单元测试确保当前Web应用程序中所有关键的部分都能正常工作。但是如何测试UI以确保用户按下按钮时出现适当的响应呢? - 我的意思是,如果突然“注册”按钮消失或停止工作,会造成很大的麻烦,因此我想进行这种UI测试是很常识的。
从我到目前为止所读过的内容来看,Selenium, PhantomJSZombie似乎可以做我想要的事情,但我对它们知之甚少。
但是还有什么其他选择,并且在进行这种类型的单元测试之前应该考虑什么?

1
为什么不从这些中的一个开始呢?它们都非常好用,否则它们就不会成为领导者。我建议您从教程开始学习,而不是在这里提问。 - S.Lott
3个回答

3
“Phantom”和“Zombie”本质上是相同的东西。它们都是“无头浏览器”。无头浏览器的意思是,它表现得像一个简单的浏览器(打开页面、运行脚本、渲染内容、处理cookie等),但没有输出显示给用户。
你可以使用JavaScript定义一个测试用例:
  1. 打开 www.example.com 页面
  2. 在“UserName”文本字段中插入文字“Bob”
  3. 点击“Good morning”按钮
  4. 检查(断言)“output”字段是否包含“Good morning Bob”
“Selenium”是一组工具:
  • “Selenium IDE”——Firefox的一个插件,可以记录并播放你执行的操作。这意味着不需要了解脚本语言就可以创建和运行测试用例!
  • “Selenium WebDriver”——一个库,可以“接管”一些支持的浏览器。它实际上打开了一个选择的浏览器(如Firefox),并执行测试用例代码中描述的操作。(请注意,“Phantom”无头浏览器是WebDriver可以控制的浏览器之一。)
  • 还有一些类似于用于负载测试的Grid,但我对此了解不多。
总之:
  • 如果你只想测试前端,且熟悉JavaScript,请选择Phantom或Zombie。
  • 如果你不想使用JavaScript,请选择Selenium IDE。
  • 如果你想创建更复杂的测试用例(例如将一些内容放入数据库,然后在浏览器中执行一些操作),请使用Selenium WebDriver。

0

你最好使用Selenium,因为它具有强大语言的优势。


0

最终我使用了zombie.js,因为我们公司已经有JavaScript的专业知识,所以这是一个非常好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接