在软件开发过程中,自动化测试是确保软件质量的关键环节之一。Selenium 是一个广泛使用的自动化测试工具,它允许开发者远程控制浏览器实例并模拟用户与浏览器的交互。本文将详细介绍 Selenium IDE 和 WebDriver,这两种主要的 Selenium 工具,并探讨它们的使用方式和优势。
Selenium IDE 是一个浏览器插件,能够记录和回放用户与浏览器的交互。以下是如何在 Chrome 浏览器中使用 Selenium IDE 的步骤:
1. 打开 Chrome 浏览器,进入扩展程序页面。 2. 打开 Chrome Web Store。 3. 搜索 "Selenium IDE" 并添加到 Chrome。 4. 安装完成后,将在浏览器中看到 Selenium IDE 图标。 5. 点击图标,创建新项目,输入项目名称(例如:DemoSeleniumIDEPrj)。 6. 提供应用程序的 URL(例如:可以从 GitHub 下载一个示例 ASP.NET Web 应用程序)。 7. 点击右上角的录制按钮,这将打开应用程序的登录页面。 8. 输入用户名和密码,然后点击提交。应用程序将重定向到员工列表页面。 9. IDE 将记录上述步骤,可以再次运行测试以查看它是否执行相同的步骤。如果测试成功,将显示绿色。
Selenium IDE 使用 Selenese 语言编写命令。命令(例如:open, type, click 等)帮助 Selenium 理解要执行的动作或操作。
Selenium IDE 的测试可以导出为以下语言的脚本:
C# NUnit 选项应该创建 .cs 文件。
尽管 Selenium IDE 是一个强大的工具,但它也有一些局限性:
WebDriver 是一个 API(应用程序编程接口),用于创建和运行测试,它是一个跨平台的测试框架。它解释命令并在 Web 元素上执行操作。它支持像 JUnit、NUnit、TestNG 等测试框架。可以从 Selenium 官方网站下载各种编程语言的 WebDriver。
以下是 WebDriver C# API 命令的分类:
driver.get("www.google.com"); // 获取网页
driver.getTitle(); // 获取当前网页标题
driver.getCurrentUrl(); // 获取当前网页 URL
driver.navigate().refresh(); // 刷新当前网页
driver.navigate().forward(); // 在现有浏览器窗口中点击前进按钮
driver.findElement(By.id("UserName")).clear(); // 清除元素
driver.findElement(By.id("UserName")).click(); // 点击元素
要创建和运行 C#WebDriver测试,需要以下组件:
以下是设置和运行 WebDriver 测试的步骤:
脚本文件应如下所示:
// 生成自 Selenium IDE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions;
using NUnit.Framework;
[TestFixture]
public class DemotestTest {
private IWebDriver driver;
public IDictionary<string, object> vars {
get;
private set;
}
private IJavaScriptExecutor js;
[SetUp]
public void SetUp() {
driver = new ChromeDriver();
js = (IJavaScriptExecutor)driver;
vars = new Dictionary<string, object>();
}
[TearDown]
protected void TearDown() {
driver.Quit();
}
[Test]
public void demotest() {
driver.Navigate().GoToUrl("http://localhost:64031/");
driver.Manage().Window.Size = new System.Drawing.Size(1066, 824);
driver.FindElement(By.Id("username")).Click();
driver.FindElement(By.Id("username")).SendKeys("demo");
driver.FindElement(By.Id("password")).SendKeys("demopwd");
driver.FindElement(By.Id("btnsubmit")).Click();
driver.Close();
}
}
要通过 xpath 查找元素(例如:driver.FindElement(By.XPath("//input[@id='username']")));),可以使用 Chropath。Chropath 是一个 Chrome 扩展。添加后,可以在开发者工具(F12)下看到它。
要运行测试,需要 "ChromeDriver"。下载 ChromeDriver,解压缩并将其放入 Windows 路径中(例如:Windows 10 中的 c:\windows)。可以通过命令提示符测试 ChromeDriver(c:\windows -> Chromedrive.exe)。将看到 "Starting ChromeDriver"。使用测试资源管理器运行测试。这将打开 Chrome 浏览器中的应用程序并执行编写的步骤。步骤按顺序执行。如果测试通过,测试将变为绿色。