c# - 为什么我需要将 NUnit 与 Selenium WebDriver 一起使用?

标签 c# nunit selenium-webdriver

我刚刚开始使用 Selenium,使用 VS2012 和 C#。我不确定是否有必要使用单独的测试框架,例如 NUnit 或 HtmlUnit。我在不使用 NUnit 的情况下尝试了在 C# 中在线提供的谷歌搜索示例,它运行良好。

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

最佳答案

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

  • 如果您有现有的单元测试,它会将所有内容保存在一个地方。 (如果这是你想要的组织方式)
  • 如果您已经将 NUnit(或您首选的单元测试框架)用于单元测试,那么您可以重复使用用于 NUnit 的相同测试运行器(例如 NUnit 控制台、NUnit GUI、ReSharper 等),这意味着您可以运行一键式/键盘快捷键即可完成所有测试(NUnit 和 Selenium)。
  • 如果您使用持续集成,它可以通过现有的 NUnit(或您喜欢的任何一个)测试运行器运行您的 selenium 测试,这意味着您不必单独为 selenium 测试配置您的持续集成服务器。

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

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

最终,仅仅因为您可以做某事并不意味着您应该做。如果您必须处理这两者,则通过单元测试框架运行 Selenium 测试会很方便。它可能适合您,也可能不适合您。

关于c# - 为什么我需要将 NUnit 与 Selenium WebDriver 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077274/

相关文章:

selenium-webdriver - 在Python3.6( Selenium 模块): ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

linux - 如何在 Linux 机器上处理 Windows 身份验证?

c# - 如何正确地将 Popup 绑定(bind)到 ToggleButton?

c# - 使用管理员权限运行部分 c# 程序

c# - 如何将此文件加载到 NUnit 测试中?

unit-testing - xunit 以编程方式添加新测试/"[Facts]"?

python - 无法使用 Firefox 驱动程序打开网站

c# - javascript和C#服务器通信

c# - 导入 excel 文件并比较两个表的重复数字

c# - LINQ to Entities 中的批量删除