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)

相关推荐
JC_You_Know10 分钟前
多语言网站的 UX 陷阱与国际化实践陷阱清单
前端·ux
Python智慧行囊16 分钟前
前端三大件---CSS
前端·css
Jinuss40 分钟前
源码分析之Leaflet中Marker
前端·leaflet
成都渲染101云渲染66661 小时前
blender云渲染指南2025版
前端·javascript·网络·blender·maya
聆听+自律1 小时前
css实现渐变色圆角边框,背景色自定义
前端·javascript·css
牛马程序小猿猴2 小时前
17.thinkphp的分页功能
前端·数据库
huohuopro2 小时前
Vue3快速入门/Vue3基础速通
前端·javascript·vue.js·前端框架
草巾冒小子2 小时前
vue3中解决 return‘ inside ‘finally‘ block报错的问题
前端·javascript·vue.js
互联网搬砖老肖3 小时前
Web 架构之高可用基础
前端·架构
zfyljx3 小时前
五子棋html
前端·css·html