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)

相关推荐
NiceCloud喜云6 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby7 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩7 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
weixin_468466857 小时前
工业相机成像原理新手入门指南
人工智能·自动化·机器视觉·工业相机·光学·光学系统·成像原理
U盘失踪了8 小时前
claude code 用 Playwright + “webapp-testing” 技能包,编写前端自动化
自动化
Front思8 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
weixin_468466859 小时前
MoneyPrinterTurbo 短视频自动化生产实战指南
运维·人工智能·自动化·大模型·音视频·moneyprinter
ZC跨境爬虫10 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。11 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
志栋智能11 小时前
小步快跑:从单一场景开启超自动化巡检之旅
运维·网络·人工智能·自动化