selenium 简介以及 selenium 环境配置

文章目录


一、初识 selenium

1.selenium 简介

selenium是一个用于web应用程序自动化测试工具,可以直接运行在浏览器,就行用户真正的在浏览器操作一样,支持的浏览器包括:IE,Firefox,Chrome,Safari

主要功能包括:测试与浏览器的兼容性------测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。


2.selenium 三大组件

  • WebDriver:是selenium提供的一个API,用于操作浏览器。

  • IDE:是selenium提供的一个插件,可以录制用户的操作

  • Grid:是selenium分布式的工具,实现在多个浏览器操作。使用Grid可以轻松实现用例的分布式执行。

编写自动化主要使用WebDriver来实现,我们后面所指的selenium默认也是WebDriver


3.selenium工作过程和原理

  • 1.对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动

  • 2.浏览器驱动中包含了一个HTTP Server,用来接收这些http请求

  • 3.HTTP Server接收到请求后根据请求来具体操控对应的浏览器

  • 4.浏览器执行具体的测试步骤

  • 5.浏览器将步骤执行结果返回给HTTP Server

  • 6.HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息


4.selenium自动化测试流程

  • 1.分析需求

  • 2.制定测试计划

  • 3.设计用例

  • 4.搭建测试框架(公用对象,公用环境,公用方法,工公用测试数据)

  • 5.编写脚本

  • 6.分析测试结果

  • 7.维护测试脚本


5.selenium优点

  • 1.开源,免费

  • 2.支持多种浏览器IE,Firefox,Chrome,Safari

  • 3.支持多平台 Windows,Linux,Mac

  • 4.支持多语言 python,java,c

  • 5.对web支持良好

  • 6.简单,灵活

  • 7.支持分布式测试用例执行


二、自动化测试

1.UI自动化本质

  • 定位元素--操作元素--模拟页面操作--断言--测试报告

2.UI自动化的前提

  • 1.需求不能频繁动

  • 2.UI稳定

  • 3.项目周期长

  • 4.回归测试频繁

3.适用场景

  • 冒烟测试,回归测试

4.UI自动化的原则

  • 1.一个case完成一个功能测试(可以从功能用例摘除可以自动化的禁行标识)

  • 2.一个脚本是一个完整的业务场景

  • 3.每个脚本可以独立运行,没有依赖关系

  • 4.设计合适的检查点

  • 5.设计良好的框架

5.UI自动化的覆盖率

  • 是根据项目来说,并不是占比越高越好,会受到项目周期,迭代次数等影响

三、selenium 环境配置

相关推荐
IT北辰1 分钟前
基于Vue3+python+mysql8.0的财务凭证录入系统,前后端分离完整版(可赠送源码)
python·vue
墨染青竹梦悠然11 分钟前
基于Django+vue的图书借阅管理系统
前端·vue.js·后端·python·django·毕业设计·毕设
多恩Stone12 分钟前
【3DV 进阶-11】Trellis.2 数据处理与训练流程图
人工智能·pytorch·python·算法·3d·aigc·流程图
怪兽毕设16 分钟前
基于Django的洗衣服务平台设计与实现
后端·python·django·洗衣服务平台
小小逐月者29 分钟前
SQLModel 开发笔记:Python SQL 数据库操作的「简化神器」
数据库·笔记·python
曲幽29 分钟前
FastAPI生命周期管理实战:从启动到关闭,如何优雅地管好你的“资源家当”
redis·python·fastapi·web·shutdown·startup·lifespan
gr178531 分钟前
通过dify文件上传能力,解决较大文本与LLM实时交互问题
python·llm·aigc·dify
学习的周周啊34 分钟前
ClawdBot(openclaw) + Cloudflare Tunnel + Zero-Trust 零基础保姆教程
网络·人工智能·python·clawdbot
电饭叔39 分钟前
DataFrame和 Series 索引
android·python
穿过锁扣的风41 分钟前
决策树:从入门到实战,解锁 AI 分类预测的核心利器
数据结构·python·决策树