• Selenium Video Tutorials

使用C#的Selenium教程



Selenium 可以与多种语言一起使用,例如 Java、Python、JavaScript、Ruby、C#等等。Selenium 广泛用于 Web 自动化测试。Selenium 是一款开源且可移植的自动化软件测试工具,用于测试 Web 应用程序。

它能够跨不同的浏览器和操作系统运行。Selenium 不仅仅是一个单一的工具,而是一套工具,它帮助测试人员更有效地自动化基于 Web 的应用程序。C# 是 Selenium 的另一种语言绑定。

Selenium 中 Java 和 C# 语言绑定之间没有主要区别。主要区别仅在于语言本身。此外,这两种语言的变更日志也存在差异。

在 Java 中,我们使用 Webdriver、WebElement,但在 C# 中,我们称之为 IWebdriver、IWebElement。因此,C# 中遵循的约定是在声明接口时,在接口名称之前添加字母“I”。

在使用 Java 的页面工厂中,使用 @FindBy 注解来识别元素,但是,在使用 C# 的页面工厂中,它被称为属性,并用 [FindBy] 表示,用于定位元素。

使用 C# 设置 Selenium 并启动浏览器

步骤 1 - 从以下链接安装名为 Visual Studio 的 C# 代码编辑器:https://visualstudio.microsoft.com/downloads/

使用此编辑器,我们可以开始在 C# 项目上工作以启动我们的测试自动化。

要更详细地了解如何设置 Visual Studio,请参阅以下链接:https://tutorialspoint.com/ebook/

步骤 2 - 创建一个新项目,方法是右键单击现有项目,然后单击“添加”选项,然后单击“新建项目”,或者如果没有打开任何项目,请单击“文件”菜单,然后选择“新建项目”选项。

Selenium Csharp Tutorial 1

步骤 3 - 选择“控制台应用程序”选项,然后单击“下一步”按钮。

Selenium Csharp Tutorial 2

步骤 4 - 输入项目名称,例如 SeleniumTest,然后单击“创建”按钮。

Selenium Csharp Tutorial 3

步骤 5 - 新创建的项目 SeleniumTest 应该可见。

Selenium Csharp Tutorial 4

步骤 6 - 右键单击新创建的项目,然后选择“管理 NuGet 包”选项。

Selenium Csharp Tutorial 5

步骤 7 - 在右上角的搜索框中输入 selenium,所有基于 selenium 搜索的包都应该显示。单击 Selenium.WebDriver,然后单击“添加包”按钮。安装所有与 Selenium 相关的包。

Selenium Csharp Tutorial 6

步骤 8 - 完成后,Selenium.Webdriver 成功添加消息将在 Visual Studio 的顶部显示。

Selenium Csharp Tutorial 7

步骤 9 - 重新启动 Visual Studio。再次启动后,所有安装的包都应显示在解决方案资源管理器中的 NuGet 文件夹下。

Selenium Csharp Tutorial 8

步骤 10 - 编写代码以获取以下页面的页面标题 - **Selenium Practice - Modal Dialogs**。

Selenium Csharp Tutorial 9

示例

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

namespace SeleniumTest {
   class Program {
      static void Main(string[] args) {
	  
         // Initiate Webdriver
         IWebDriver driver = new ChromeDriver();

         // adding an implicit wait of 20 secs
         driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);

         // launch the application
         driver.Navigate().GoToUrl("https://tutorialspoint.com/selenium/practice/modal-dialogs.php");

         // get the page title
         String pageTitle = driver.Title;
         Console.WriteLine("Page title is: " + pageTitle);
      }
   }
}

输出

Page title is: Selenium Practice - Modal Dialogs

在上面的示例中,我们在控制台中启动了一个应用程序并获得了其页面标题,消息为 - **页面标题是:Selenium Practice - Modal Dialogs**。

使用 Selenium C# 启动浏览器并退出驱动程序

我们可以使用 driver.Navigate().GoToUrl 方法启动浏览器并打开应用程序,最后使用 Quit() 方法退出浏览器。

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

namespace SeleniumTest {
   class Program {
      static void Main(string[] args){
	  
         // Initiate Webdriver
         IWebDriver driver = new ChromeDriver();

         // adding an implicit wait of 20 secs
         driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);

         // launch the application
         driver.Navigate().GoToUrl("https://tutorialspoint.com/selenium/practice/check-box.php");

         // quitting browser
         driver.Quit();
      }
   }
}

在上面的示例中,我们首先在 Chrome 浏览器中启动了一个应用程序,然后退出了浏览器。

使用 Selenium C# 识别元素并检查其功能

导航到网页后,我们必须与页面上可用的 Web 元素进行交互,例如单击链接/按钮、在编辑框中输入文本等等,以完成我们的自动化测试用例。

为此,我们的首要任务是识别元素。Selenium 中为此提供了一些定位器,它们是 id、class、类名、name、链接文本、部分链接文本、标签名、css 和 xpath。这些定位器需要与 FindElement() 方法一起使用。

例如,driver.FindElement(By.Id("id")) 将定位具有给定 id 属性值的第一个 Web 元素。如果找不到具有匹配 id 属性值的元素,则应抛出 NoSuchElementException。

让我们看看下面图片中突出显示的“Impressive”标签旁边的单选按钮的 html 代码 -

Selenium Csharp Tutorial 10
<input class="form-check-input" type="radio" name="tab" 
   value="igotthree" onclick="show3();">

单击该单选按钮后,我们将在网页上看到文本 **You have checked Impressive**。

Selenium Csharp Tutorial 11

示例

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

namespace SeleniumTest {
   class Program {
      static void Main(string[] args){
	  
         // Initiate the Webdriver
         IWebDriver driver = new ChromeDriver();
         
         // adding an implicit wait of 20 secs
         driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
         
         // launch an application
         driver.Navigate().GoToUrl("https://tutorialspoint.com/selenium/practice/radio-button.php");
         
         // identify a radio button then click on radio button	
         IWebElement r = driver.FindElement
            (By.XPath("/html/body/main/div/div/div[2]/form/div[3]/input"));
         r.Click();

         // identify text after clicking radio button
         IWebElement txt = driver.FindElement(By.Id("check1"));
         
         // obtain text
         String text = txt.Text;
         Console.WriteLine("Text is: " + text);
         
         // quitting browser
         driver.Quit();
      }
   }
}

输出

Text is: You have checked Impressive

在上面的示例中,我们在控制台中获得了单击“Impressive”标签旁边的单选按钮后的文本,消息为 - **You have checked Impressive**。

本教程到此结束,我们全面介绍了 Selenium - C# 教程。我们首先介绍了如何使用 C# 设置 Selenium 并启动浏览器,以及如何使用 Selenium C# 识别元素并检查其功能。

这使您掌握了 Selenium - C# 教程的深入知识。明智的做法是不断练习您学到的知识,并探索与 Selenium 相关的其他知识,以加深您的理解并拓宽您的视野。

广告