目录

介绍

背景

使用代码

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<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();}
}

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、

Selenium自动化测试相关推荐

  1. Selenium自动化测试驱动下载

    Selenium自动化测试准备,免不了驱动下载: 常用的谷歌浏览器驱动 http://npm.taobao.org/mirrors/chromedriver/

  2. python写界面输入测试脚本_python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要 ...

  3. Selenium3自动化测试——1. 新建第一个Selenium自动化测试脚本

    在安装好Python.PyCharm和Selenium后,开始进行第一个Selenium自动化测试脚本. 1. 对百度首页进行编写如下代码: from selenium import webdrive ...

  4. python测试脚本项目全程教程_《手把手教你》系列练习篇之5-python+ selenium自动化测试(详细教程)...

    1. 简介 今天我们继续前边的练习,学习和练习一下:如何使用webdriver方法获取操作复选框-CheckBox.测试不同的分辨率.如何断言title.如何获取某一个元素的text属性值等等,这些小 ...

  5. 《Selenium自动化测试指南》—第1章1.1节自动化测试基础

    本节书摘来自异步社区<Selenium自动化测试指南>一书中的第1章1.1节自动化测试基础,作者赵卓,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.1 自动 ...

  6. 自从掌握了Selenium自动化测试框架设计,我在公司都横着走!

    测试工作对技术的要求不低,测试工程师更是高技能职位.但有很多新入行的伙伴认为,测试工作就是钟"点"工,用鼠标在软件点里点~点~点~就能做测试.这种思维是很可怕的,这会对测试人的职业 ...

  7. selenium自动化测试框架_selenium自动化测试框架之PO设计模式

    面向对象的特性:封装.继承.多态.在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率. 传 ...

  8. selenium自动化测试_49自动化测试中最常见的Selenium异常

    selenium自动化测试 开发人员将始终在编写代码时牢记不同的场景,但是在某些情况下,实现可能无法按预期工作. 相同的原则也适用于测试代码,该代码主要用于测试现有产品的功能,发现bug并确保产品10 ...

  9. selenium自动化测试_维持Selenium测试自动化的完美方法

    selenium自动化测试 毫无疑问, 自动浏览器测试已改变了软件开发的工作方式. 如果不是Selenium,我们将无法像我们一样使用各种各样的无错误的Web应用程序. 但是有时,甚至IT部门也误解了 ...

  10. selenium自动化测试_为什么在生产中进行Selenium自动化测试对于您的下一个版本至关重要?...

    selenium自动化测试 您是否认为仅仅是因为您的Web应用程序在过渡环境中以飞快的速度通过,它对于生产环境也将是相同的? 您可能需要重新考虑! 特别是,如果我们指的是跨浏览器测试 ,则需要确保跨各 ...

最新文章

  1. 动感效果的TAB选项卡 jquery 插件
  2. 深度有趣 | 22 天马行空的DeepDream
  3. Spring控制器响应(action)请求的几种处理方式,如返回JSON,MODEL MODELVIEW,STRING
  4. 信息系统项目管理知识--项目时间管理
  5. 蓝桥杯java第八届第九题--分巧克力
  6. 为Qt Designer创建自定义Widgets小部件
  7. 如何在项目启动时就执行某些操作
  8. python numpy中sum()时出现负值
  9. mysql 打包 脚本_windows下mysql自动备份压缩打包时间命名批处理脚本
  10. 【软件开发底层知识修炼】五 gcc-C语言编译器
  11. Spring MVC源码——Root WebApplicationContext
  12. 转:SQL的内连接与外连接
  13. 10.28T5 tarjan+dfs
  14. 微软Azure、谷歌GAE、亚马逊AWS比較
  15. 台式计算机 评标细则,计算机评标系统流程.doc
  16. 聊一聊关于“元宇宙”涉及的前端技术
  17. 学习python基础(六)
  18. 【K8S】Submariner实现跨集群通信
  19. 【Nightingale (夜莺)监控系统安装配置】
  20. JavaScript用法------判断二维数组

热门文章

  1. php定时任务sw,[原创]Swoole和Swoft的那些事(Task投递/定时任务篇)
  2. python如何限制字符串长度_Python uuid4,如何限制唯一字符的长度 - python
  3. ndarray是什么_python数据分析用什么软件?
  4. 纯文字海报如何排版更引人注目?
  5. 高品质餐饮相关场景模型素材,开始独特的场景来展示设计。
  6. 2021计算机一级新增知识点,2021年计算机一级知识点.doc
  7. python串口实时读取数据画图_python串口绘图
  8. 终端进入网页_华为云进入IDC MarketScape终端安全检测与响应市场领导者象限
  9. socket编程简单Demo讲解及源码分享(C# Winform 内网)
  10. QT创建文件夹(QDir方式)