Selenium - 简介

selenium简介及使用 Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。适用于自动化测试,js动态爬虫(破解反爬虫)等领域。 阅读详情

selenium是什么?
回到顶部

Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。它最初由杰森·哈金斯(Jason Huggins)于2004年开发,作为Thought Works的内部工具。Selenium支持跨不同浏览器,平台和编程语言的自动化。

Selenium可以轻松部署在Windows,Linux,Solaris和Macintosh等平台上。此外,它支持IOS(IOS,Windows Mobile和Android)等移动应用程序的OS(操作系统)。

Selenium通过使用特定于每种语言的驱动程序支持各种编程语言。Selenium支持的语言包括C#,Java,Perl,PHP,Python和Ruby。目前,Selenium Web驱动程序最受Python和C#欢迎。 Selenium测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代Web浏览器中运行。 Selenium支持的浏览器包括Internet Explorer,Mozilla Firefox,Google Chrome和Safari。

应该具备的知识
回到顶部

需要一些JavaScript知识才能学习本教程。 关于一些后端平台的知识不是必需的,但它可以帮助您了解各种Selenium概念。

Selenium功能特性
回到顶部

Selenium有以下功能特性:

  • Selenium是一个开源和可移植的Web测试框架。
  • Selenium IDE为创作测试提供了回放和录制功能,而无需学习测试脚本语言。
  • 它可以被视为领先的基于云的测试平台,可帮助测试人员记录他们的操作并将其导出为可重复使用的脚本,并具有易于理解且易于使用的界面。
  • Selenium支持各种操作系统,浏览器和编程语言。如下列表:
    • 编程语言: C# ,Java,Python,PHP,Ruby,Perl和JavaScript
    • 操作系统:Android,iOS,Windows,Linux,Mac,Solaris。
    • 浏览器:谷歌浏览器,Mozilla Firefox,Internet Explorer,Edge,Opera,Safari等。
  • 它还支持并行测试执行,从而减少了时间并提高了测试效率。
  • Selenium可以与Ant和Maven等框架集成,用于源代码编译。
  • Selenium还可以与TestNG等测试框架集成,以进行应用程序测试和生成报告。
  • 与其他自动化测试工具相比,Selenium需要的资源更少。
  • WebDriver API已经尝试集于Selenium中,这是对Selenium进行的最重要的修改之一。
  • Selenium Web驱动程序不需要服务器安装,测试脚本直接与浏览器交互。
  • Selenium命令根据不同的类进行分类,使其更易于理解和实现。
  • Selenium Remote Control(RC)与WebDriver API一起被称为Selenium 2.0。 此版本旨在支持充满活力的网页和Ajax。

Selenium的局限性
回到顶部

Selenium的局限性主要如下:

  • Selenium不支持桌面应用程序的自动化测试。
  • Selenium需要高技能才能更有效地自动化测试。
  • 由于Selenium是开源软件,因此必须依靠社区论坛来解决技术问题。
  • 无法使用Selenium对Web服务(如SOAP或REST)执行自动化测试。
  • 使用者应该至少知道或熟悉一种受支持的编程语言,以便在Selenium WebDriver中创建测试脚本。
  • 它没有像UTF/QTP这样的内置对象存储库来维护集中位置的对象/元素。但是,可以使用Page Object Model(PO,页面对象模型)克服此限制。
  • Selenium没有任何内置的报告功能; 必须依赖JUnit和TestNG等插件来获取测试报告。
  • 无法对图像执行测试。需要将Selenium与Sikuli集成以进行基于图像的测试。
  • 与UFT,RFT,SilkTest测试等供应商工具相比,在Selenium中创建测试环境需要更多时间。
  • 新功能没有人可能少人使用,它们可能会也可能不会正常工作。
  • Selenium不为测试管理提供任何测试工具集成。

扩展:

什么是页面对象模型?页面对象模型(PO)是一种设计模式,用来管理维护一组web元素的对象库。在PO下,应用程序的每一个页面都有一个对应的page class,每一个page class维护着该web页的元素集和操作这些元素的方法,它的最终目的还是将页面对象(方法和元素)与测试代码分离,提高测试代码的可维护性、可扩展性及可复用性。

UFT(Unified Functional Testing)是一种自动化测试工具,以VBScirpt为内嵌语言。UFT支持功能测试和回归测试自动化,可用于软件应用程序和环境的测试。

RFT(IBM Rational Functional Tester)是一款先进的、自动化的功能和回归测试工具,它适用于测试人员和GUI开发人员。

SilkTest:SilkTest 可以自动捕捉,检测和重复用户交互的操作从而驱动测试的进行。

Selenium与QTP比较
回到顶部

Selenium和QTP是市场上最常用的自动化测试工具。 因此,我们比较了Selenium与QTP的一些特征。

特征SeleniumHP QTP
许可开源工具有版权
客户支持Selenium社区论坛专门的HP支持
测试支持仅支持基于Web的应用程序的自动化。支持基于Web和桌面的应用程序的测试。
测试脚本执行期间的资源消耗资源消耗低资源消耗高
支持的编程语言Java, C#, Ruby, Python, Perl, PHP and JavaScriptVB Script
支持的环境Android, iOS, Windows, Linux, Mac, Solaris.仅适用于Windows
支持的浏览器谷歌浏览器,Mozilla Firefox,Internet Explorer,Edge,Opera,Safari等特定版本的Google Chrome,Mozilla Firefox和Internet Explorer。
对象存储库/恢复方案无内置对象存储库和恢复方案。
浏览器控件无可在浏览器中访问收藏夹栏,后退和前进按钮等控件。
测试报告生成它依赖于外部工具来生成测试报告。在工具中生成内置测试报告。
参数设置依赖任何一种受支持的编程语言进行参数化。内置工具可用于参数化。

Selenium工具套件
回到顶部

Selenium不仅仅是一个工具,而是一套软件,每个软件都有不同的方法来支持自动化测试。 它由四个主要组成部分组成,包括:

  • Selenium集成开发环境(IDE)
  • Selenium RC远程控制器(现已弃用)
  • webdriver
  • Selenium Grid

Selenium集成开发环境(IDE)
回到顶部

Selenium IDE实现为Firefox扩展,在测试脚本上提供记录和回放功能。它允许测试人员以HTML,Java,Ruby,RSpec,Python, C# ,JUnit和TestNG等多种语言导出录制的脚本。 可以在Selenium RC或Webdriver中使用这些导出的脚本。

Selenium IDE的范围有限,生成的测试脚本不是非常健壮和可移植。

Selenium远程控制器
回到顶部

Selenium RC(由selenium正式弃用)允许测试人员使用任何支持的编程语言编写自动化Web应用程序UI测试。 它还涉及一个HTTP代理服务器,它使浏览器能够相信正在测试的Web应用程序来自代理服务器提供的域。

Selenium RC有两个组件:

  • Selenium RC Server(充当Web请求的HTTP代理)
  • Selenium RC Client(包含编程语言代码的库)

下图给出了Selenium RC的架构表示。

Selenium RC在连续集成系统下测试复杂的基于AJAX的Web用户界面非常有效。

Selenium WebDriver
回到顶部

Selenium WebDriver(Selenium 2)是Selenium RC的继承者,也是Selenium Suite最重要的组件。 SeleniumWebDriver提供了一个编程接口来创建和执行测试用例。 编写测试脚本是为了识别网页上的Web元素,然后对这些元素执行所需的操作。

与Selenium RC相比,Selenium WebDriver执行速度更快,因为它可以直接调用Web浏览器。 另一方面,RC需要RC服务器与Web浏览器进行交互。

因为,WebDriver直接调用不同浏览器的方法,因此每个浏览器都有单独的驱动程序。 一些最广泛使用的Web驱动程序包括:

  • Mozilla Firefox驱动程序(Gecko驱动程序)
  • 谷歌Chrome驱动程序
  • Internet Explorer驱动程序
  • Opera驱动程序
  • Safari驱动程序
  • HTML单元驱动程序(一个特殊的无头驱动程序)

注意:Selenium版本2将Selenium RC和Selenium WebDriver的最佳功能合并到Selenium WebDriver中,最新发布的Selenium 3具有新增功能和功能。

Selenium Grid
回到顶部

Selenium Grid也是Selenium Suite的一个重要组件,它允许在不同的机器上并行运行不同浏览器的测试。 简单来说,可以在运行不同浏览器和操作系统的不同机器上同时运行测试。

Selenium Grid遵循Hub-Node架构来实现测试脚本的并行执行。Hub被视为网络的主设备,另一个将是节点。 Hub控制在网络的各个节点上执行测试脚本。


欢迎指正,that's all

转自:https://www.cnblogs.com/Neeo/articles/10669758.html

Selenium用法详解【简介入门】【JAVA爬虫】 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),​ Mozilla Firefox,Safari,Google Chrome,Opera,Edge ​等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。 阅读详情

相关推荐

Selenium:简介

HTML简介 1、HTML中文为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言 2、HTML是用来描述网页的一种语言 ⑴HTML不是一种编程语言,而是一种标记语言,标记语言是一套标记标签(markup tag) ⑵HTML使用标记标签来描述网页,包含了HTML标签及文本内容 HTML结构 1、一个HTML网页(文档)是由大量不同、相同标签组成的 ⑴这些标签都是定义好了的(前端开发人员无法自己定义) 2、以下...

不怕猫的耗子A 8206

​基于多种语言,使用Selenium实现自动化的常用单元测试框架

Selenium是自动化网络应用程序的首选工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多种编程语言的各种单元测试框架。这些框架用于在 Windows、MacOS 和 Linux 等不同平台的网络应用程序上执行测试脚本。任何成功的自动化流程都有赖于强大的测试框架,这些框架可以帮助质量保证团队优化敏捷流程,降低维护成本和测试工作量,并提供更高的投资回报。

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 331

基于MCP协议的AssistAI:深度集成Eclipse的AI编程助手实战指南

在AI辅助编程领域,大型语言模型(LLM)与开发工具的深度集成是提升开发效率的关键。其核心原理在于通过标准化的协议(如MCP,Model Context Protocol),将IDE的功能封装为AI可调用的工具集,从而实现环境感知与操作同步。这项技术的价值在于打破了传统AI编程工具与开发者工作流的割裂,使AI能够以符合工程规范的方式直接操作项目,如进行代码重构、运行测试和交互式调试。其典型应用场景包括复杂代码导航、自动化测试生成与精准的增量编译。本文以Eclipse插件AssistAI为例,详细解析了如何通

weixin_42531579的博客 556

selenium基础知识

Selenium是一个开源的工具,支持多种编程语言(如Java、Python、C#等),可以用于测试不同浏览器和操作系统上的Web应用。

aa111234306的博客 311

免费 AIS船舶轨迹预测 数据集 分享 (可用于长周期轨迹预测)

论文中使用的数据由提供。有关预处理步骤的详细信息,请参阅。

qq_43747519的博客 1万+

从建模到调参:基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程解析

本文详细解析了基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程,涵盖运动学建模、仿真环境搭建、PID控制器设计与实现等关键环节。通过Simulink仿真和可视化调试技巧,帮助开发者掌握移动机器人运动控制的核心技术,提升轨迹跟踪精度与性能优化能力。

weixin_28717683的博客 241

基于多种语言,使用Selenium实现自动化的常用单元测试框架!

Selenium是自动化网络应用程序的首选工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多种编程语言的各种单元测试框架。这些框架用于在 Windows、MacOS 和 Linux 等不同平台的网络应用程序上执行测试脚本。任何成功的自动化流程都有赖于强大的测试框架,这些框架可以帮助质量保证团队优化敏捷流程,降低维护成本和测试工作量,并提供更高的投资回报。

myh919的博客 1096

Zemax热分析实战:多重结构编辑器与操作数优化技巧

本文详细介绍了在Zemax中进行热分析的全流程,重点讲解了如何利用多重结构编辑器模拟不同温度环境,并通过TENP、CRVT、THIC等关键操作数建立热膨胀模型。文章结合双胶合透镜实例,阐述了如何设置热跟随、构建多温度评价函数,并运用锤型优化提升光学系统在全温度范围内的热稳定性与成像质量。

yog99的博客 575

哪种编程语言更适合编写Selenium Web驱动程序脚本,Python还是Java?

Selenium是一个开源工具,用于主要的自动化测试工作。Selenium很容易安装在Windows,Linux,Macintosh和Solarix等系统上。以下是硒的主要元素 -网络驱动程序,此外,它还支持Android,iOS和Windows Mobile等移动应用程序的操作系统(OS)。Selenium 4.0是市场上的最新版本。对于测试自动化,Selenium可能支持多种编程语言,尽管两种高度使用的语言是Java和Python。那么,让我们来看看这些流行编程语言的Selenium绑定。

很酷的站长的博客 619

MT4量化交易入门:手把手教你用MQL4编写第一个外汇EA(含完整代码)

本文详细介绍了如何使用MQL4在MT4平台上编写第一个外汇EA,涵盖从开发环境配置到均线交叉策略实现的完整流程。通过手把手教学和完整代码示例,帮助量化交易新手快速掌握外汇自动化交易的核心技术,实现高效的MT4量化交易系统。

mmm90的博客 526

IMU自动校准论文与代码实现A Robust and Easy to Implement Method for IMU Calibration without External Equipments

PART1 摘要 低成本的惯性测量单元会受到系统误差的影响,系统误差由标度因子和轴偏差造成,这会降低位置和姿态估计的精度。 本文提出了一种无需任何外部设备的,鲁棒性强,易于实现的IMU校准方法。 该程序基于多放置方案,再估计传感器偏差的同时,为加速度和陀螺仪三轴的尺度和偏差系数。我们的方法只需要用手移动传感器,并将其放置在一组不同的静态位置(姿态)。 论文描述了一个鲁棒的快速校准协议,...

qq_29313679的博客 5308

selenium简介_什么是Selenium? Selenium简介

selenium简介 什么是Selenium? (What is Selenium?) Selenium is a free Open source functional Testing tool used for testing web applications on multiple browsers and multiple operating systems (Platforms). It...

从零开始的教程世界 1708

三臂杆大型液压机械臂集中式ADRC控制系统设计

本文设计了一种用于三臂杆液压机械臂的集中式自抗扰控制(ADRC)系统。该系统通过建立包含惯性矩阵、科氏力、重力及摩擦力的非线性动力学模型,并集成液压系统传递函数,构建了完整的系统模型。控制方案采用跟踪微分器安排过渡过程,扩张状态观测器实时估计系统状态和总扰动,以及非线性状态误差反馈生成控制量。MATLAB实现展示了集中式ADRC控制器的核心结构,包括参数定义、跟踪微分器、扩张状态观测器和非线性反馈模块的设计。该系统能有效处理多关节耦合效应,实现三输入三输出的MIMO控制,具有抗干扰能力强、响应速度快的特点。

huanghm88的专栏 269

selenium简介

Selenium 是 Web 自动化测试的核心工具,掌握它可以提高测试效率。建议从 Python 或 Java 入手,逐步学习元素定位、等待机制、POM 模式等高级用法。

niuniu_666的博客 1535

【深度学习基础】一篇弄懂训练集、验证集和测试集(呕心沥血版)

在深度学习中,训练集、验证集和测试集是构建和评估模型的核心组成部分。训练集用于模型的学习和参数优化,验证集帮助调整超参数和防止过拟合,而测试集则用于最终评估模型的泛化性能。正确划分和使用这三类数据集,对于开发高效、可靠的深度学习模型至关重要。本文将深入解析它们的作用、划分方法以及在实际应用中的注意事项,帮助你全面理解并掌握数据集的科学使用方法,从而提升模型的实际表现。

十二月的猫 3792

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Selenium 简介

Selenium 是一个 Web 应用的自动化框架。主要应用于 Web 应用程序的自动化测试。 通过它,测试工程师可以写出自动化程序,模拟人在浏览器里操作 Web 界面。 比如点击界面按钮,在文本框中输入文字等操作。 除此以外,它还支持所有基于 Web 的管理任务自动化。 Selenium 官网 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuHjcoa8-1596440119875)(https://www.selenium.dev/images/selenium_log

Leo-Fighting的博客 636

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Selenium简介以及安装

Selenium是一个自动化工具,可以模拟人工操作浏览器完成重复性任务,如网页测试、数据抓取和自动化操作。它由WebDriver(浏览器控制核心)和Client Libraries(编程接口)组成。Python环境下安装Selenium只需三步:安装Python并配置环境变量,通过pip安装selenium库,下载与浏览器版本匹配的驱动文件(如ChromeDriver)。验证安装时可编写简单脚本实现自动打开百度搜索功能,包含页面跳转、元素定位、键盘模拟等基础操作。该工具特别适合处理JavaScript渲染页

2401_87975790的博客 763

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Selenium教程:Selenium简介

Selenium 是一款广泛应用于 web 应用程序测试的自动化测试框架,它可以模拟用户在浏览器上的行为,对 web 应用进行自动化测试。Selenium 主要使用多种编程语言编写,如 Java、Python、C# 等,支持多种主流浏览器,包括 Chrome、Firefox、Edge、IE 等。

旦莫的博客 1489

Selenium之简介

首先,让我们看看官网是怎么定义的Selenium是一个支持web浏览器自动化的一系列工具和库的综合项目,提供了扩展来模拟用户和浏览器的交互,用于扩展浏览器分配的分发服务器;用于W3C WebDriver规范的基础架构其实,说白了,它的核心就是WebDriver,这是一个编写指令集的接口,可以在许多浏览器中运行。

小鑫仔的博客 539

Selenium Webdriver简介

Selenium RC 是Selenium Webdriver的前身 Selenium IDE是一款自动化脚本录制工具 Selenium Webdriver 是Selenium 1 Selenium Grid 是分布式自动化测试的一个工具 不同的电脑上不同的浏览器上进行运行脚本,就要用Selenium Grid 工作原理 脚本 --》 webdriver(启动一个新

hapasm的博客 435

Selenium简介

什么是Selenium框架? Selenium是一个用于web应用程序测试的工具,目前是业内最核心的测试框架。直接运行在浏览器中,就像真正的用户在操作一样。而Appium是基于Selenium继承实现的,通过对页面元素的获取和调用实现自动化测试。 支持的浏览器包括IE、Firefox、Safari、Chrome、Opera等,覆盖的平台非常多。 适用于自动化测试,js动态爬虫(破解反爬虫)等领域。 Selenium发展史 Selenium本身是Firefox下的一个插件,Selenium IDE,主要用于火

Jane 3435
上一篇: HTML、XML和JSON 汇总
下一篇: Centos8时间同步应用chrony作为NTP服务器
Memory_7s
博客等级 码龄7年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值