为什么我需要将NUnit与Selenium WebDriver一起使用

本文关键字:WebDriver Selenium 一起 NUnit 为什么 | 更新日期: 2023-09-27 18:00:58

我刚刚开始使用Selenium,使用VS2012和C#。我不确定是否有必要使用一个单独的测试框架,如NUnit或HtmlUnit。我尝试了一个谷歌搜索的例子,它可以在没有使用NUnit的情况下在C#中在线获得,效果很好。

所以我现在的问题是,为什么我需要将NUnit与Selenium一起使用?

为什么我需要将NUnit与Selenium WebDriver一起使用

如果您不想在Selenium中使用NUnit(或任何其他单元测试框架(,则不需要将其与Selenium一起使用。但是,在某些情况下,您可能希望使用NUnit或其他框架来利用其他功能的好处。例如:

  • 如果你有现有的单元测试,它会把所有的东西都放在一个地方。(如果你想这样组织的话(
  • 如果您已经使用NUnit(或您喜欢的单元测试框架(进行单元测试,那么您可以重用用于NUnit的相同测试运行程序(例如NUnit控制台、NUnit GUI、ReSharper等(,这意味着您可以使用一键/键盘快捷方式运行所有测试(NUnit和Selenium(
  • 如果您使用连续集成,它可以通过现有的NUnit(或您喜欢的(测试运行器运行硒测试,这意味着您不必为硒测试单独配置连续集成服务器

以上假设您已经有了单元测试。如果您还没有单元测试,或者您只对Selenium测试感兴趣(例如,我们有一个开发团队和一个测试人员,我们编写单元测试,测试人员编写Selenium,并且它们彼此独立运行(,那么就没有必要添加额外的层。

单元测试框架和selenium测试是不同的。单元测试通常一次只看一个代码单元(尽管在实践中,我发现它经常会溢出到相邻的单元中,尤其是在它们很小且具有确定性的情况下(。Selenium将一个网页(或一系列网页(视为一个单独的测试。Selenium的测试需要一个系统将其许多组件集成在一起才能运行测试。因此,它在更高的级别上进行测试,因为它同时检查了许多事情。(例如,系统可以处理请求,响应返回,响应包含预期数据,页面上的按钮做正确的事情,转到正确的页面,等等(

归根结底,仅仅因为你能做某事并不意味着你应该做。如果必须同时处理这两个问题,那么通过单元测试框架运行Selenium测试是一种方便。它可能对你有用,也可能不管用。