Selenium基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-selenium/


什么是Selenium

Selenium是一个自动化测试工具

是一组不同的工具

其支持在多个浏览器平台上执行测试

为什么需要Selenium

1. 使原本手动的测试变成自动化

2. 更容易完成频繁的回归测试

3. 更快速的反馈给开发人员与测试人员

4. 几乎无限次迭代的测试执行

5. 更有纪律的测试用例

6. 自动生成缺陷报告

7. 补充手动测试的遗漏

Selenium组件介绍

Selenium RC

以前最主要的项目, 目前已被弃用不再更新

其原理为使用一个RemoteControlServer作代理, 由其去操控真正的浏览器

Selenium WebDriver

由Selenium Rc与WebDriver的结合, 包括一个面向对象的API, 支持WebDriver API, 可使用其API直接调用浏览器上的API获取结果及对浏览器底层操作, 并可最大灵活的移植测试, 并可向Selenium RC兼容

WebDriver是一个用来进行复杂重复的Web自动化测试工具, 本是Selenium的竞争对手, 本意为提供更容易使用与更容易维护的API

Selenium IDE

用于构建测试脚本的设计工具, 其是一个FireFox浏览器的插件, 提供了一个易用的界面来开发自动化测试用例, 并拥有记录的功能, 可记录下用户的操作步骤, 并将其转化导出为不同编程语言的测试脚本

Selenium Grid

允许并行地运行测试, 即不同的测试可以在不同的远程机器上同是执行, 由于其使用了并行, 所以大大改进了执行测试所需的时间

SeleniumRC与SeleniumWebDriver

Selenium RC的缺点

不能处理键盘和鼠标事件

不能处理同源策略XSS/HTTP(S)

不能处理弹出框, 对话框, 基本身份验证, 自签名证书, 文件上传/下载

Selenium WebDriver的缺点

不支持并行, 但是可以使用Selenium Grid解决这个问题

对浏览器的支持不全

对不同浏览器的操作API不一致

两者的不同点

SeleniumWebDriver需要有API和浏览器的支持, SeleniumRC有统一的API, 但需要额外的代理操作服务器

SeleniumWebDriver可以通过HTMLunitDriver来模拟浏览器, 实现快速测试, SeleniumRC需要有真实的浏览器存在

参考

SeleniumHQ

时间: 2024-10-13 22:47:34

Selenium基础知识的相关文章

selenium基础知识1

一.元素的8种定位  (以百度为例) #导入所需要的包 from selenium import webdriver dr = webdriver.Chrome() dr.get("https://www.baidu.com/") 1.通过id定位 dr.find_element_by_id("kw").send_keys("selenium自动化") 2.通过name定位 dr.find_element_by_name(""

selenium自动化基础知识

什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要通过修改部分代码的方式来覆盖这部分修改的内容,大大提高测试效率.但是后期代码维护需要一定的成本,如果系统属于表单比较多或者经常修改改动的系统不太适合使用自动化,因为这个维护成本太高:针对于一些相对比较成熟(改动不是很频繁)的系统和跑回归测试的系统很适合进行自动化测试. 性能自动化即使用性能测试工具(

Python3分布式爬虫(scrap+redis)基础知识和实战详解

背景 随着业务需求的变化,大规模爬虫遇到各种问题.python爬虫具有先天优势,社区资源比较齐全,各种框架也完美支持.爬虫性能也得到极大提升.本次分享从基础知识入手,涉及python 的两大爬虫框架pyspider.scrapy,并基于scrapy.scrapy-redis 做了分布式爬虫的介绍(直接粘贴的ppt截图)会涉及 redis.mongodb等相关知识. 一.前沿 1.1 爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.

学 Java 网络爬虫,需要哪些基础知识?

说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic .我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里面涉及到了大量网站的新闻采集,我们就使用了 webmagic 进行采集程序的编写,由于当时不知道其设

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

BroadcastReceive基础知识总结

BroadcastReceive基础知识总结 1.BroadcastReceive简介 BroadcastReceive也就是"广播接收者"的意思,顾名思义,就是用来接收来自系统和应用中的广播 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能,当网络状态改变时,系统会产生一条广播,接收到这条广播,就能及时的做出提示和保存数据等操作,当电池的电量改变的时候,系统会产生一条广播,接收到这条广播就能在电量低的时候告知用户

基础知识--:before伪元素和:after伪元素

http://book.51cto.com/art/201108/285688.htm 3.7  替换指定位置 大家都知道before和after是前.后的意思.但是奇怪的是,CSS中的:before伪元素和:after伪元素是为源文档中不存在的内容设置样式的. 没有内容怎么设置样式呢?别急!它们有一个content属性,一起使用就可以为某个选择器前.后的内容设置样式了. 下面就来了解一下:before伪元素和:after伪元素的用法. 视频教学:光盘/视频/3/3.7  替换指定位置.avi 

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永