您当前的位置: 首页 >  selenium

寒冰屋

暂无认证

  • 1浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Selenium自动化测试

寒冰屋 发布时间:2021-09-23 15:13:36 ,浏览量:1

目录

介绍

背景

使用代码

Selenium IDE

限制

Selenium网络驱动程序

兴趣点

优点

结论

介绍

Selenium是一套用于Web浏览器自动化的工具,它使用可用的最佳技术远程控制浏览器实例并模拟用户与浏览器的交互。它是最广泛使用的自动化测试工具。

Selenium提供三个主要工具:

  1. Selenium IDE
  2. Selenium Web驱动程序
  3. Selenium Grid

本文解释了Selenium IDE和Webdriver。

背景

大多数项目中都有在新更改发布时进行回归测试的场景。自动化工具帮助我们减少测试时间、错误并提高质量。

使用代码 Selenium IDE

Selenium IDE是一个浏览器插件,用于记录和回放用户与浏览器的交互。让我们看看如何在Chrome浏览器中使用Selenium IDE。

1、在Chrome中添加Selenium IDE扩展:打开Chrome浏览器 ->扩展-> 打开Chrome Web Store -> 搜索“Selenium IDE” ->添加到Chrome -> 你现在应该在浏览器中看到 Selenium IDE图标。

正在上传…重新上传取消​

2、单击Selenium IDE图标 -> 单击创建新项目-> 输入项目名称(例如:DemoSeleniumIDEPrj):

3、提供应用程序URL(C#示例Web应用程序项目可以从sampleaspnetwebapplication下载)。这个示例应用程序有一个登录页面和一个主页。单击右上角的Rec。这应该会在浏览器中打开应用程序登录页面。

4、输入用户名和密码 -> 点击提交。应用程序重定向到员工列表页面。

5、IDE应该会记录以上步骤,您可以再次运行测试,看看它是否再次执行相同的步骤。成功运行应显示测试为绿色。

selenium中的命令是使用Selenese语言编写的。命令(例如:open、type、click等)帮助Selenium了解要执行的操作或操作。

6、Selenium IDE中的测试可以使用如下所示的一种语言导出为脚本。C#  NUnit选项应该创建.cs文件。

限制
  1. 无法进行数据驱动的测试。
  2. 无法进行数据库测试。
  3. 无法在Web应用程序中测试动态操作。
  4. 无法导出结果报告。
  5. 不能将其用于大量操作。
Selenium网络驱动程序

WebDriver是一个用于创建和运行测试的API(应用程序编程接口),它是一个跨平台的测试框架。它解释命令并对Web元素执行操作。它支持Junit、NUnit、TestNG等测试框架。各种编程语言的WebDrivers可以从Selenium官方网站下载。

WebDriver C# API 参考:Dotnet

WebDriver API命令大致分为三类:

  1. 浏览器命令
    • 获取网页: driver.get("www.google.com")
    • 获取当前网页标题: driver.getTitle();
    • 获取当前网页的网址: driver.getCurrentUrl();
  2. 导航命令
    • 刷新当前网页: driver.navigate().refresh();
    • 单击现有浏览器窗口中的前进按钮: driver.navigate().forward();
  3. 网络元素命令
    • 清除元素: driver.findElement(By.id("UserName")).clear();
    • 点击元素: driver.findElement(By.id("UserName")).click();

网络驱动架构:

要创建和运行C# WebDriver测试,您将需要以下内容:

  • Visual Studio
  • 测试框架(我们将在下面的示例中使用 NUnit)
  • Selenium Web驱动程序
  • Chromedriver可执行文件

按照以下步骤设置和运行Web驱动程序测试。

1、打开Visual Studio ->创建新的类库项目(文件->新建->项目)

2、使用NuGet将WebDriver和NUnit框架添加到Visual Studio项目。NuGet是一个依赖管理工具,可以从存储库中提取所有包,如WebDriver和NUnit。单击工具-> NuGet包管理器-> 管理NuGet包以获取解决方案。

添加软件包后,已安装选项卡应显示如下:

3、在Visual Studio项目中添加“从Selenium IDE导出的脚本(.cs文件) ”。从Selenium IDE导出脚本将节省编码时间。您还可以创建一个新测试并在其中编写Selenium脚本。

脚本文件应如下所示:

// Generated by 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 vars {get; private set;}
  private IJavaScriptExecutor js;
  [SetUp]
  public void SetUp() {
    driver = new ChromeDriver();
    js = (IJavaScriptExecutor)driver;
    vars = new Dictionary();
  }
  [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();
  }
}

4、要通过xpath查找元素(例如driver.FindElement(By.XPath("//input[@id='username']")));:),请使用Chropath。Chropath是Chrome扩展。添加后,您可以在开发人员工具(F12)下看到它,如下所示。

5、运行测试“ChromeDriver”是必要的。下载ChromeDriver,解压并将其放在Windows路径中(例如:c:\windows in windows 10)。您可以通过转到命令提示符 -> c:\windows -> Chromedrive.exe进行测试ChromeDriver。您将看到“正在启动 ChromeDriver ”。

使用测试资源管理器运行测试。这应该在Chrome浏览器中打开应用程序并执行编写的步骤。步骤按顺序执行。如果测试通过,则测试变为绿色。

兴趣点 优点
  1. 开源工具:免费且无需购买。
  2. 浏览器和平台无关:由于它是使用JavaScript开发的,因此它支持大多数浏览器,如Chrome、Firefox、Internet Explorer、Edge、Safari、Opera,并支持Windows、Mac和Linux等操作系统。
  3. 多种编程语言的Web驱动程序:为了编写自动化脚本,Web驱动程序可用于C#、Java、Ruby、Python和JavaScript等编程语言。
  4. 省时且不易出错:在执行重复测试时节省大量时间并避免人工错误。
结论

本文解释了Selenium IDE和WebDriver,使用它们执行自动化测试,使用WebDriver和NUnit编写测试脚本。

https://www.codeproject.com/Articles/5302400/Selenium-Automation-Testing、

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0755s