selenium基础入门

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

导出成其他脚本
在这里插入图片描述
用例组织
用例的组织是工程化最关心的一个问题,谁也不想接手下面的工作
在这里插入图片描述

posted @ 2022-03-06 10:38  叶常落  阅读(154)  评论(0编辑  收藏  举报