web 自动化之 selenium+webdriver 环境搭建及原理讲解

文章目录

        • [一、web 自动化测试学习说明](#一、web 自动化测试学习说明)
        • [二、什么 web 自动化测试](#二、什么 web 自动化测试)
        • [三、selenium 简介](#三、selenium 简介)
        • 四、web自动化测试环境搭建
        • [五、web 自动化测试第一个脚本](#五、web 自动化测试第一个脚本)
        • [六、selenium 原理及源码讲解](#六、selenium 原理及源码讲解)
一、web 自动化测试学习说明

进阶 web 自动化测试学习:掌握 python 编程基础

二、什么 web 自动化测试

web 端测试: 对网页的测试

UI 测试: web 测试 + app 测试

web 自动化测试:通过代码对网页进行测试

UI 测试 = web 自动化测试 + APP 自动化测试

三、selenium 简介

selenium 是企业主流应用广泛 web 自动化测试框架

selenium 的三大组件:

1、selenium IDE 浏览器插件:实现脚本录制

2、WebDriver 实现对浏览器的各种操作(API 包)

3、Grid 分布式执行,用例同时在多个浏览器同时执行,提搞测试效率

四、web自动化测试环境搭建

环境搭建步骤:

1、安装 selenium (第三方库)

cmd 命令:pip install selenium

2、安装浏览器(谷歌浏览器)

常见浏览器:chrome 浏览器、IE 浏览器、Firefox 浏览器

3、安装浏览器驱动

chrome 浏览器驱动:chromedriver.exe

IE 浏览器驱动:ieserverdriver.exe

Firefox 浏览器驱动:geckodirver.exe
特别注意事项:下载驱动版本必须与浏览器的版本一致
chrome 浏览器驱动下载地址

chromedriver.exe 文件放置到 python 安装路径(python.exe 所在的路径)

五、web 自动化测试第一个脚本

打开浏览器,加载项目地址

复制代码
from selenium import webdriver

# 指令1:打开浏览器
driver=webdriver.Chrome()
# 指令2:加载项目地址
driver.get("https://www.baidu.com")
# 不断发送其他指令:不同指令操控浏览器做不同的事情
六、selenium 原理及源码讲解

selenium 脚本如何操控浏览器进行对应的操作?

三者如何通信,实现 web 自动化测试:

结合 selenium 源码讲解 selenium 的原理:

  • 1、启动浏览器驱动(chromedriver.exe)服务
  • 2、selenium 脚本与浏览器驱动建立连接,再 selenium 脚本发送指令(基于 http 通信)
    (发送指令给浏览器驱动,浏览器驱动控制浏览器操作)

不同的指令对浏览器进行不同的操作

指令包(API包):JsonWireProtocol( JWP)
JsonWireProtocol ∙ SeleniumHQ/selenium Wiki ∙ GitHub

打开浏览器,执行的命令:

response = self.execute(Command.NEW_SESSION, parameters)

指定请求地址 http://ip:端口号/路径+请求方式+请求参数

response = self.command_executor.execute(driver_command, params)

相关推荐
人工智能训练17 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪18 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
biuyyyxxx20 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
pas13621 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠21 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
珑墨21 小时前
【Turbo】使用介绍
前端
军军君011 天前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
chatexcel1 天前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
打小就很皮...1 天前
Tesseract.js OCR 中文识别
前端·react.js·ocr
wuhen_n1 天前
JavaScript内存管理与执行上下文
前端·javascript