Selenium with C# 教程

2025年3月17日 | 阅读16分钟
Selenium with C# Tutorial

在本节中,我们将学习如何在 Visual Studio 和 NUnit 框架的帮助下,使用 C# 编程语言创建 Selenium 测试脚本。

在本教程中,我们将学习以下主题


解释 Selenium?

Selenium 是最重要的自动化测试工具之一,因为它支持多种编程语言,如 Java、Python、C#、Ruby、Perl 和 PHP 等。

并自动执行各种浏览器上的测试脚本,如 Google Chrome、Firefox、Safari、Internet Explorer 和 Opera,以及在不同的操作系统上,如 Windows、Mac、Linux

Selenium 支持 TestNG 和 JUnit 等其他测试工具来管理测试用例并生成测试报告。

有关 Selenium 的更多详细信息,请参考以下链接

selenium-tutorial

什么是 C#?

C# 是一种面向对象的编程语言,运行在 .Net 框架上,发音为 C-sharp

C# 语言是为了运行 CLRCommon Language Runtime,通用语言运行时)而开发的。

在 C# 中,我们可以通过函数将程序分解成部分;因此,它也被称为结构化编程语言

有关 C# 语言的更多详细信息,请参考以下链接

c-sharp-tutorial

为什么 C# 对自动化测试有用?

  • C# 对自动化测试很有用,因为它允许自动化测试工程师利用 Visual Studio 在 .Net 框架上开发应用程序。
  • C# 是另一种也支持与 Selenium 绑定的编程语言。
  • 此语言绑定将与 Java 程序一起更新。
  • C# 的 IDE 是 Visual Studio,与 Java 的 Eclipse 相比,它提供了更快的开发和调试体验。
  • C# 具有许多内置函数,可以加快开发速度。

Selenium with C#

在本节中,我们将了解如何下载、安装 Visual Studio,以及如何配置 Visual Studio、NUnit 框架的 Selenium,并使用 C# 编程语言在 Visual Studio 中执行测试脚本。

要使用 C# 的 Selenium,请遵循以下过程

  • 在 C# 中配置 Visual Studio 的 Selenium
  • 在 Visual Studio 中使用 NUnit 配置 Selenium

在 C# 中配置 Visual Studio 的 Selenium

以下是在 C# 中配置 Visual Studio 的 Selenium 的过程

  • 下载并安装 C# IDE(Visual Studio)
  • 在 Visual Studio 中创建新项目
  • 在 Visual Studio 中添加引用
  • 使用 C# 编写 Selenium 测试脚本
  • 在 Visual Studio 中运行 Selenium 测试脚本

下载并安装 Visual Studio

Visual Studio 是一个 C# IDE [集成开发环境],用于在 Windows、Mac 等各种平台上开发应用程序。

在这里,我们将下载并安装适用于 Windows 平台的 Visual Studio。

下载 Visual Studio

要下载适用于 Windows 平台的最新版本 Visual Studio,请参考以下链接:https://visualStudio.microsoft.com/downloads/

  • 点击上述链接后,在下载部分,我们将点击社区区域下的免费下载按钮,如下图所示。
Selenium with C# Tutorial
  • 点击免费下载按钮后,它将下载 Visual Studio 的 exe 文件。
  • 之后,打开下载的 exe 文件,如下图所示。
Selenium with C# Tutorial

安装 Visual Studio

下载适用于Windows平台的 Visual Studio 后,我们将准备安装它。

要安装 Visual Studio,请遵循以下过程

  • 双击下载的可执行文件后,将出现 Visual Studio Installer 窗口,然后我们点击 继续 按钮以进行后续操作,如下图所示。
Selenium with C# Tutorial
  • 点击继续按钮后,它将开始安装 Visual Studio 的文件。
Selenium with C# Tutorial
  • 此过程完成后,将出现 installing -visual Studio-community 2019-16.4.3 窗口,在桌面和移动部分,我们选择通用 Windows 平台开发.Net 桌面开发选项。
  • 然后点击安装按钮,如下图所示。
Selenium with C# Tutorial
  • 安装过程需要一些时间,因为文件大小很大,如下图所示。
Selenium with C# Tutorial
  • 安装过程完成后,在启动 Visual Studio 之前,我们将点击重新启动按钮。
Selenium with C# Tutorial
  • 系统重启后,我们将在开始菜单中搜索“Visual Studio 2019”并双击它。
  • 将出现以下弹出窗口,如果我们没有帐户,将点击暂时不,稍后再试,如下图所示。
Selenium with C# Tutorial
  • 在下一个窗口中,我们可以选择 Visual Studio 的主题
  • 选择 Visual Studio 的主题后,点击启动 Visual Studio 按钮,如下图所示。
Selenium with C# Tutorial
  • 然后我们就会看到 Visual Studio 的入门窗口。
Selenium with C# Tutorial

创建新项目

安装完成后,我们就可以在 Visual Studio 中创建新项目了。

要在 Visual Studio 中创建项目,请遵循以下过程

  • 右键单击文件菜单,转到新建,然后在给定的弹出菜单中选择项目选项,如下图所示。
Selenium with C# Tutorial
  • 将出现创建新项目窗口,我们在所有语言下拉菜单中选择C#语言。
  • 然后,从所有平台下拉列表中选择Windows平台选项。
  • 搜索字段中搜索 .net Framework 模板,并从中选择控制台应用程序 (.NET Framework)
  • 之后,点击下一步按钮,如下图所示。
Selenium with C# Tutorial
  • 点击下一步按钮后,将出现配置新项目窗口,我们将提供项目名称 [SeleniumTest],并点击创建按钮,如下图所示。
Selenium with C# Tutorial
  • 项目成功创建后,将出现以下窗口。
Selenium with C# Tutorial

在 Visual Studio 中添加引用

项目创建完成后,我们将使用 Visual Studio 中的NuGet 包管理器添加Selenium WebDriverChrome Driver的引用。

添加 Selenium WebDriver 引用

遵循以下过程,在 Visual Studio 中添加 Selenium WebDriver 的引用

  • 解决方案资源管理器中,右键单击引用,然后在给定的弹出菜单中选择管理 NuGet 程序包选项,如下图所示。
Selenium with C# Tutorial
  • 将打开管理 NuGet 程序包窗口,在该窗口中我们将搜索 Selenium,选择 WebDriver,然后点击安装按钮,如下图所示。
Selenium with C# Tutorial
  • 然后,在预览更改窗口中点击确定按钮,如下图所示。
Selenium with C# Tutorial
  • 包成功安装后,将显示以下输出消息。
Selenium with C# Tutorial

添加 Chrome Driver 引用

遵循以下过程,在 Visual Studio 中添加 Chrome Driver 的引用

  • 要在 Chrome 浏览器上执行操作,我们将再次右键单击引用,然后从弹出菜单中选择管理 NuGet 程序包选项。
  • 然后,在搜索字段中搜索 chrome driver,选择 Chrome.WebDriver,然后点击安装按钮,如下图所示。
Selenium with C# Tutorial
  • 并且,在预览更改窗口中点击确定按钮以进行后续操作。
Selenium with C# Tutorial
  • 在 Visual Studio 中添加 Selenium WebDriver 和 Chrome Driver 引用后,我们就可以开始使用 C# 编程语言编写测试脚本了。

使用 C# 编写 Selenium 测试脚本

要使用 C# 编程语言编写 Selenium 测试脚本,请遵循以下步骤

步骤:具体操作输入预期结果
1.为浏览器创建引用应创建浏览器的引用。
2.导航到Google 主页https://www.google.com/应显示 Google 主页。
3.识别 Google 搜索文本框并输入值。Javatpoint 教程应识别 Google 搜索框并输入值。
4.识别并点击Google 搜索按钮。应识别并点击 Google 搜索按钮。
5.关闭浏览器。应关闭浏览器。

我们正在逐步创建测试脚本,以便您能详细了解每个组件。

步骤 1

要为浏览器创建引用,我们将遵循以下过程

注意:要声明接口:在接口名称前加上“I”前缀。就像我们在下表中看到的,在 C# 中,我们在接口(IWebDriver)前加上“I”,而在 Java 中,则无需在接口(WebDriver)名称前加上“I”。

C#Java
IWebDriverWebDriver
IWebElementWebElement

这里是示例代码:

  • 编写上述代码时,我们会遇到以下错误
Selenium with C# Tutorial
  • 为解决此错误,我们将使用以下语句,该语句有助于我们添加 Selenium 引用。
  • 在添加 chrome driver 的引用时,它会产生以下错误
Selenium with C# Tutorial
  • 为解决此错误,我们将在代码中使用以下语句。

步骤 2

在此步骤中,我们将导航到浏览器中的 https://www.google.com/ URL。

示例如下

注意:GoToUrl() 方法用于导航 URL。

步骤 3

要识别 Google 搜索框,请遵循以下过程

在此步骤中,我们尝试使用其名称属性来定位Google 搜索文本框

  • 右键单击Google 搜索文本框,然后在弹出菜单中选择检查选项,如下图所示。
    Selenium with C# Tutorial
  • 将启动开发人员工具窗口,其中包含用于开发Google 搜索文本框的所有特定代码,我们将复制其名称属性的值,即“q”。
    Selenium with C# Tutorial
  • 示例如下

步骤 4

在此步骤中,我们将值传递到 Google 搜索框中。

这里是示例代码:

步骤 5

要识别 Google 搜索按钮,请遵循以下过程

  • 右键单击Google 搜索按钮,然后在给定的弹出菜单中选择检查选项,如下图所示。
Selenium with C# Tutorial
  • 将启动开发人员工具窗口,其中包含用于开发Google 搜索按钮的所有特定代码。
  • 然后,复制其name属性的值,即“btnK”,如下图所示。
Selenium with C# Tutorial
  • 示例如下

步骤 6

在最后一步中,我们将关闭浏览器,以完成在浏览器上执行的所有操作。

这里是示例代码:

完成所有测试场景后,我们的最终测试脚本将如下所示。

运行测试脚本

完成 Selenium 测试脚本的编写后,我们将运行测试脚本。

遵循以下过程,运行测试脚本

  • 点击开始按钮执行 Programcs 文件,如下图所示。
Selenium with C# Tutorial
  • 点击开始按钮后,执行过程将开始,如下图所示。
Selenium with C# Tutorial
  • 上述测试脚本将启动 Google Chrome 浏览器并自动化所有测试场景。
Selenium with C# Tutorial

在 Visual Studio 中使用 NUnit 配置 Selenium

在编写 NUnit 的测试脚本之前,我们将了解 NUnit 框架,以及如何在 Visual Studio 中下载和安装 NUnit 框架。

  • 什么是 NUnit 框架?
  • 下载 NUnit3 测试适配器
  • 添加 NUnit 的引用
  • 创建 NUnit 类
  • 使用 NUnit 编写 Selenium 测试脚本
  • 执行测试脚本

什么是 NUnit 框架?

NUnit 是一个用于所有 .Net 语言单元测试框架。它是一个开源软件,并且经过完全重新设计,以利用 .Net 语言的许多新特性。

它还支持广泛的 .Net 语言平台。

下载 NUnit3 测试适配器

NUnit3 测试适配器是一个扩展,允许我们在 Visual Studio 中运行 NUnit 测试。

要下载 NUnit3 测试适配器到 Visual Studio,请遵循以下步骤

  • 首先,转到扩展,然后在 Visual Studio 中选择管理扩展选项。
Selenium with C# Tutorial
  • 将出现管理扩展窗口,在该窗口中我们将搜索 NUnit,然后点击 NUnit 3 Test Adapter下载按钮,如下图所示。
Selenium with C# Tutorial
  • 点击下载按钮后,它会要求我们关闭 Visual Studio 来修改更改,然后点击修改按钮,如下图所示。
Selenium with C# Tutorial
  • 点击修改按钮后,它将开始安装和修改 NUnit 3 测试适配器。
  • 所有修改完成后,将出现以下窗口。
Selenium with C# Tutorial
  • 正如我们在管理扩展窗口中看到的,NUnit 3 测试适配器已成功安装。
Selenium with C# Tutorial
  • 完成 NUnit 3 测试适配器安装过程后,我们将添加 NUnit 的引用。

添加 NUnit 的引用

要添加 NUnit 的引用,请遵循以下过程

  • 解决方案资源管理器中右键单击引用,然后在给定的弹出菜单中选择管理 NuGet 程序包选项。
Selenium with C# Tutorial
  • 管理 NuGet 程序包窗口中,我们将在搜索字段中搜索 NUnit,选择第一个选项 NUnit,然后点击安装按钮,如下图所示。
Selenium with C# Tutorial
  • 点击安装按钮后,将出现预览更改窗口,我们在其中点击确定
Selenium with C# Tutorial
  • 包成功安装后,我们将得到以下输出消息。
Selenium with C# Tutorial

创建 NUnit 类

要在 Visual Studio 中创建 NUnit 类,请遵循以下过程

  • 右键单击SeleniumTest项目,然后转到添加,从给定的弹出菜单中选择选项。
Selenium with C# Tutorial
  • 将出现添加新项窗口,在其中我们将类名提供为 Sample1,然后点击添加按钮,如下图所示。
Selenium with C# Tutorial
  • 点击添加按钮后,将出现以下窗口。
Selenium with C# Tutorial
  • 成功创建类后,我们就可以使用 NUnit 编写测试脚本了。

使用 NUnit 编写 Selenium 测试脚本

要使用 NUnit 编写 Selenium 测试脚本,请遵循以下过程

为了测试目的,我们将执行Facebook 应用程序的登录操作

步骤:具体操作输入预期结果
1.打开 Google Chrome 浏览器。应打开 Google Chrome 浏览器。
2.导航到 Facebook 登录页面。https://#必须显示 Facebook 登录页面。
3.识别用户名文本框并输入值。[email protected]应识别用户名文本框并输入值。
4.识别密码文本框并输入值。Password=#######应识别密码文本框并输入值。
5.识别登录按钮并点击它。应识别并点击登录按钮。
6.关闭浏览器。应关闭浏览器。

我们正在逐步创建测试脚本,以让您全面了解如何在 Visual Studio 中使用 NUnit 框架编写测试脚本。

步骤 1

为了访问 Google Chrome 浏览器,我们将创建一个全局变量 IWebDriver

这里是示例代码:

注意
全局变量:全局变量声明在任何函数之外,对程序中的所有函数都可访问。

我们将把代码分成不同的部分,使用 NUnit 编写代码,并使用 NUnit 的测试方法,例如

  • 打开浏览器:Initialize
  • 执行浏览器操作:ExecuteTest
  • 关闭浏览器:EndTest

示例

步骤 2

下一步,我们将导航到 Initialize() 方法中的给定 URL。

这里是示例代码:

步骤 3

在此步骤中,我们将识别ExecuteTest()方法下的Facebook登录页面的用户名文本框

遵循以下过程

  • 右键单击用户名文本框,然后在弹出菜单中点击检查元素,如下图所示。
Selenium with C# Tutorial
  • 将打开开发人员工具窗口,其中包含用于开发用户名文本框的所有特定代码。
Selenium with C# Tutorial
  • 复制其id属性的值“email”并粘贴到代码中。

这里是示例代码:

步骤 4

之后,我们将识别 Facebook 登录页面的密码文本框,为此请遵循以下过程。

  • 右键单击密码文本框,然后在弹出菜单中点击检查元素选项,如下图所示。
Selenium with C# Tutorial
  • 它将启动一个开发人员工具窗口,其中包含用于开发密码文本框的所有特定代码。
Selenium with C# Tutorial
  • 复制其name属性的值“pass”并粘贴到代码中。

这里是示例代码:

步骤 5

一旦我们识别了用户名或密码文本框,我们将找到登录按钮并执行点击操作。

  • 右键单击登录按钮,然后在给定的弹出菜单中选择检查选项,如下图所示。
Selenium with C# Tutorial
  • 将启动开发人员工具窗口,其中包含用于开发登录按钮的所有特定代码,如下图所示。
Selenium with C# Tutorial
  • 复制其Id属性的值“u_0_b”并粘贴到代码中。

这里是示例代码:

步骤 7

在测试脚本的最后一步,我们将关闭浏览器,该操作在EndTest()方法下执行。

以下是关闭浏览器的示例代码。

将所有步骤组合在一起后,我们的脚本将如下所示。

注意:在上面的代码中,请在 [email protected] 的位置使用您的 Facebook ID,密码为:#######

执行测试脚本

要运行测试脚本,请遵循以下过程

  • 转到工具栏中的测试,然后选择测试资源管理器,如下图所示。
Selenium with C# Tutorial
  • 将出现测试资源管理器窗口,要查看所有可用测试,我们需要构建解决方案。
Selenium with C# Tutorial
  • 要构建解决方案,请转到生成,然后从给定的弹出菜单中选择生成解决方案,如下图所示。
Selenium with C# Tutorial
  • 完成生成解决方案后,我们在测试资源管理器窗口中看不到我们的测试,因为我们没有添加 NUnit 属性
  • NUnit 提供了一些内置属性,但在这里我们使用 SetUp、Test 和 TearDown
  • 因此,我们将像下面一样在代码中添加 Test 属性。

注意
Test 属性:用于将方法标记为可由 NUnit 测试运行器调用。

  • 添加 Test 属性时,会产生以下错误。
  • 为解决此错误,我们将使用 NUnit 框架的引用,如下图所示。
Selenium with C# Tutorial
  • 现在,我们转到测试资源管理器并再次生成解决方案,我们将在测试资源管理器中找到 ExecuteTest
  • 之后,我们将运行选定的测试,如下图所示。
Selenium with C# Tutorial
  • 运行测试脚本后,它将能够打开浏览器,如下图所示。
Selenium with C# Tutorial
  • 测试将失败,因为我们没有在任何地方调用 Initialize 方法。
  • 因此,我们需要通过在代码中添加另外两个属性 SetUp 和 TearDown 来告诉 NUnit 框架。
Selenium with C# Tutorial

注意
SetUp:SetUp 属性用于标识一个将在每个测试运行后立即调用的方法。
TearDown:此属性用于标识一个将在每个测试执行后立即调用的方法。即使发生异常,也可以保证调用此方法。

添加所有三个属性后,我们的最终代码将如下所示。

  • 之后,再次生成解决方案并运行选定的测试。
  • 正如我们在下面屏幕截图中看到的,我们的测试在测试资源管理器窗口中通过了。
Selenium with C# Tutorial
  • 如您所见,上面的测试脚本将启动 Google Chrome 浏览器并自动化所有测试场景。
Selenium with C# Tutorial
  • 或者,如果您想查看输出,我们将输入一些值并通过点击输出链接来查看输出。
  • 正如我们在下面屏幕截图中看到的,我们可以看到我们在控制台上执行的所有操作的输出。
Selenium with C# Tutorial