2020年的selenium比2015年进步了太多。稳定性和操控性都变好了。
selenium是基于webdriver协议。

几个概念,selenium, webdriver, chromedriver, chrome
chrome可以作为浏览器代表
ChromeDriver - WebDriver for Chrome
selenium 通过webdriver协议控制浏览器

selenium

准备工作,下载chrome => 下载chromedriver
chromedriver下载地址
https://chromedriver.chromium.org/downloads

chrome 注意版本的匹配

selenium是一个自动化框架,主要用来操控浏览器,进行自动化,同时也是一个生态系统。

有一个组织叫做浏览器测试和工具工作组【Browser Testing and Tools Working Group】,这个组呢,提供了一些技术,用来测试,调试和定位浏览器中的网页。
https://github.com/web-platform-tests/wpt 这个项目是这个组用来测试浏览器的。

webdriver是一个协议规范。这个规范便是上面的小组定的。它定义了一组API,允许程序员或者脚本去控制浏览器的行为。

我的一些思考,我觉得这真的不是技术上的问题,而是产品上的问题,假如已经实现了打开一个网页的功能,谁会想到把打开网页这个功能的接口暴露出来呢?webdriver协议的制定者想到了。
类似的情况很多,例如开发在后台写了一个一天才会执行一次定时任务,测试怎么去测到这个定时任务呢?这时候就需要把这个定时任务对应的方法暴露出来,可以通过接口访问到,这样每次调用接口,就会触发定时任务。

selenium api

定位
键盘输入
鼠标点击
拖动
滚动
文件上传
执行js
localStorage操作
cookie操作
弹框处理
截图
窗口切换

selenium IDE

Selenium IDE是一个浏览器插件,可以录制和回放测试用例,本质上就是把在浏览器中操作录制成为可以被selenium识别的命令。
录制操作
也可以通过selenium-side-runner从命令行运行。
还支持导出成为其他脚本的功能。
用例的组织功能。
selenium和postman何其相似啊,只不过一个针对web页面,一个针对接口。
生成脚本这个过程应该是模版填充的过程,我打算看一看。
必读爽文 https://www.selenium.dev/selenium-ide/blog/2018/12/05/the-difficulties-of-select-window

从命令行运行:

sudo npm install selenium-webdriver -g
下载专门的浏览器驱动
npm install -g chromedriver
sudo npm install -g selenium-side-runner

导出成其他脚本

用例组织
用例的组织是工程化最关心的一个问题,谁也不想接手下面的工作

selenium基础入门相关推荐

  1. Python Selenium 基础入门

      本内容主要介绍 Python Selenium 的基础使用方法. 1 Python Selenium 简介和环境配置 1.1 Selenium 简介   Selenium 是一个 Web 的自动化 ...

  2. selenium python_Python+Selenium基础入门及实践

    一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 selenium 是一个 web 的自动化测试工具,不少学习功能自动化的同学开始首选 selenium ,因为它相比 ...

  3. Python+Selenium基础入门及实践

    转载于:千夜 ( 链接:https://www.jianshu.com/p/1531e12f8852 ) 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 seleni ...

  4. UI自动化基础 - selenium快速入门教学

    前言 自上次更新了xpath路径的查找,这几天又完成了一些关于selenium里方法的学习,感觉selenium确实不失为一个好的自动化入门软件.所以秉着不断学习的过程,也顺带记录一下selenium ...

  5. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  6. 小白学 Python 爬虫(27):自动化测试框架 Selenium 从入门到放弃(上)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 全站最全面的Python 基础入门必备知识大全,学完即就业!【建议收藏仔细学习】

    前言: Python作为21世纪最火的编程语言,市面上各种学习视频层出不穷,关于Python的学习氛围也逐渐浓厚!!最近一段时间越来越多的知友们在私信我,希望我出一期python基础入门的内容,肝了N ...

  8. Python零基础入门教程,从入门到精通,不走弯路,大厂offer指日可待!

    这篇是纯干货分享,对python感兴趣的可以认真看起来! 小白想要入门Python爬虫,首先得了解爬虫的基本工作原理和相关的理论基础,爬虫简介部分就不细说了,都可以百度得到. **爬虫工作原理总结来讲 ...

  9. 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

最新文章

  1. JDBC与数据库连接工具对比分析
  2. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...
  3. 当前国内有哪些公司是做OKR管理软件做的比较好的?
  4. 打开CEPH内核DOUT日志输出
  5. oracle execute immediate执行多条语句_用数据库的方式思考SQL是如何执行的
  6. mysql与Pdo_PDO和MySQLi区别与选择?
  7. html拖放数据库字段,HTML5 拖放(Drag 和 Drop)
  8. decorators 参数_Python Decorators(二):Decorator参数
  9. MySQL/sqlserver查询in操作 查询结果按in集合顺序显示
  10. 旋转函数_【视频课】:一次函数拓展应用(图象的平移、旋转、轴对称及5种解题方法)...
  11. 关于动态规格的新理解
  12. TCP/IP协议与Http协议的区别
  13. 服务器柜机位置摆放电子图,柜式空调摆放位置有什么要注意的吗
  14. 直播设备之技术分享:全NDI 和NDI |HX
  15. 传感器i2c与arduino连接_如何在两个Arduino开发板之间使用I2C总线进行通信
  16. protobuffer简介
  17. 使用UIDataDetectorTypes自动检测电话、网址和邮箱
  18. 线性颜色空间与伽马颜色空间
  19. PDF在线预览插件touchPDF.js:手机端预览
  20. 2022年5月20日最全摸鱼游戏导航

热门文章

  1. C++——复制构造函数的形参为什么要是const引用
  2. LeetCode 404. Sum of Left Leaves
  3. CSS——Fonts(字体)
  4. 设计数据密集型应用-C5-主从架构及同步延迟问题
  5. sqlserver增删改格式整理 1123
  6. mysql5.7参数简单介绍
  7. 浅谈Linux文件系统
  8. Java 语言实现的 I/O 模型
  9. WCF技术剖析之十七:消息(Message)详解(上篇)
  10. 高效数据序列化的工具 FlatBuffers 的初体验