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)

相关推荐
不听话坏7 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi077 小时前
require 和 import的区别
开发语言·前端
pany8 小时前
做 AI 友好的开源 Vue3 模板 🌈
前端·vue.js·ai编程
小二·8 小时前
React 19 + Next.js 15 现代前端开发实战:App Router / Server Components / 流式渲染
前端·javascript·react.js
谙忆102410 小时前
前端图片直传对象存储:OSS/S3 预签名 URL、STS 临时凭证与回调校验
前端
CHNE_TAO_EMSM11 小时前
Android studio 打开文件时自动下载源码
前端·javascript·android studio
一孤程11 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
IT_陈寒11 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
yume_sibai12 小时前
大屏数据可视化 - 边框红绿呼吸灯实现详解
前端·信息可视化·typescript
Hyyy13 小时前
很多Desktop都在上的Computer Use是什么
前端·llm