您如何使用单元测试Web UI?

Eld*_*ila 33 user-interface selenium unit-testing

我目前正在工作的公司正在使用Selenium来统一测试我们的用户界面.您使用什么来对Web UI进行单元测试以及如何有效地进行测试?

Pet*_*ier 17

我是Selenium的忠实粉丝.一些评论提到,说'单位测试你的网络ui'并不准确.但是,我发现Selenium对于在UI上执行那些接受和健全性测试非常有用.

一个好的入门方法是使用Selenium IDE作为开发的一部分.即,在开发时打开IDE并编写测试,以减少开发时间.(而不是必须手动浏览用户界面才能测试你正在测试的任何东西,只需按一下按钮,Selenium IDE就会为你处理这个问题.这是一个非常节省时间的!)

我的大多数主要用例场景都有Selenium RC测试来支持它们.您不能将它们视为xUnit框架的单元测试,但它们是针对特定功能的测试.他们写得很快(特别是如果你实现登录或设置测试用例等常用方法),快速运行,并提供非常紧凑的反馈循环.在这些意义上,Selenium RC测试单元测试非常相似.

我认为,就像其他任何事情一样,如果你努力学习一个测试工具(例如,Selenium),你的努力将会得到回报.您提到您的公司已经使用Selenium进行UI测试.这很棒.使用它.如果您发现Selenium难以使用或令人困惑,请坚持使用.一旦你学习了一点API,学习曲线就不会那么陡峭了.

如果我正在开发一个Web应用程序,我很少编写大量代码而不用Selenium RC测试来备份它.这就是我找到Selenium的有效方法.:)(希望这会回答你的问题...)


jon*_*ezy 10

我们在我的工作地点使用Watin,我们是一个.net商店,所以这个解决方案很有意义.我们实际上是从Watir(最初的ruby实现)开始并在之后切换.到目前为止,这对我们来说是一个非常好的解决方案


The*_*urf 6

好吧,如果你已经正确设计了你的应用程序,那么无论如何你都不会在UI中拥有大量的逻辑.将完成的实际工作分成与UI分开的单元,然后测试它们会更有意义.

如果你这样做,那么UI中唯一的代码就是调用后端的代码,所以简单地测试后端就足够了.

我过去曾经使用过NUnit ASP(在我的工作中),如果你坚持对UI进行单元测试,我强烈建议你使用ANYTHING而不是NUnit ASP.使用起来很痛苦,即使最小的UI更改(即使测试的主题实际上没有改变),测试也会失效(需要修改).