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需要有真实的浏览器存在
参考
Selenium基础知识的更多相关文章
- Selenium 基础知识
被测产品是B/S 结构,那么推荐selenium selenium 并不是单纯的一个工具,他是一组工具的集合 1. selenium IDE 是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器 ...
- Selenium基础知识(十)截屏
自动化测试过程中,经常会用截图的方式,更直观的显示展示错误信息:selenium截图的三种方式: driver.get_screenshot_as_file(r'd:\selenium.png') # ...
- Selenium基础知识(九)验证码
关于Selenium处理验证码总结下: 1.去掉验证码(这个为了测试,去掉可能性不大) 2.万能验证码(让开发给做一个万能验证码,可能性也不大) 3.OCR光学识别,python包Python-tes ...
- Selenium基础知识(八)文本域处理textarea
textarea文本域selenium有时处理不了,但是我们可以采用迂回,解决这个问题 那么,我们用到了execute_script()方法来调用javascript来解决这个问题 这其中涉及DOM, ...
- Selenium基础知识(七)弹出框处理
使用switch_to.alert方法来处理弹页面弹出的警告框 页面常见警告框种类:alert/confirm 确认框/prompt switch_to.alert().accept() switch ...
- Selenium基础知识(六)下拉列表定位
1.下拉列表定位 要选择下拉列表中的元素,要先定位到,下拉列表元素,然后可以通过xpath去点击,表内内容 例如,百度搜索-->百度设置-->搜索设置-->选择下拉列表框内" ...
- Selenium基础知识(四)表单切换
在测试过程中,经常会碰到frame和iframe,嵌套等情况 这种情况下直接通过id,name等等是无法定位到的 好在selenium替我们想到了这个问题switch_to方法解决问题 switch_ ...
- Selenium基础知识(三)元素判断
一.由于有些页面加载完后,某些元素还没有加载,这样就会导致异常,脚本稳定性变差 为了解决这个问题,selenium提供了WebDriverWait以及implicitly_wait()等待 WebDr ...
- Selenium基础知识(二)鼠标操作
一.鼠标操作 这个需要使用webdriver下的ActionChains类,这个类是操作鼠标操作的: from selenium.webdriver import ActionChains 鼠标操作可 ...
随机推荐
- Nmap功能与常用命令
Nmap功能与常用命令 其基本功能有三个,一是探测一组主机是否在线:其次是扫描主机端口,嗅探所提供的网络服务:还可以推断主机所用的操作系统. Nmap可用于扫描仅有两个节点的LAN,直至500个节点以 ...
- JS基础与循环
JS 简介 [JS的三种方式] 1.HTML标签中内嵌JS <button onclick="javascript:alert('白痴')">呵呵呵</butto ...
- JavaScript中 DOM操作方法
DM是(Document Object Model)的简称. 一.找元素 document.getElementById() 根据id选择器找,最多找一个: document.getElemen ...
- windows下批量换程序——运维常用
Windows一批机器,需要批量换程序.写个脚本给大家. net stop sharedaccess (关闭防火墙) del /s d:\*.log d:\*.vbs d:\*.pdb d:\*.vb ...
- 简谈-Python的输入、输出、运算符、数据类型转换
输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中, ...
- Spring+SpringMVC+Mybaties整合之配置文件如何配置及内容解释--可直接拷贝使用--不定时更改之2017/4/27
以下配置可直接使用,只需更改包名. 关于内部标签的解释及用法,都以注解形式在代码内部说明.个人原创,转载需注明出处. 1,web.xml.添加jar包后首先需要配置WEB-INF下的web.xml文件 ...
- 蓝桥杯-搭积木-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- seajs的那些坑
seajs是what? 先看段代码: var loder = {}; var define = loder.define = function(id,deps,factory){ loader[id] ...
- iframe框架的应用
同学接私活,我写几个页面. 后台系统,点击侧栏菜单后,右边div的要显示对应的内容.就是说,没选一下左边的菜单,右边的内容都要变化. 这次首先尝试了一下Oldfasional办法--iframe框架. ...
- zabbix监控docker
[toc] 1.下载模版 然后把模版放到/usr/local/lib/zabbix/agent下 github地址内含监控模版 2.修改 zabbix-agentd 配置文件 vim /usr/loc ...