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 环境配置

相关推荐
清水白石0087 分钟前
突破性能瓶颈:深度解析 Numba 如何让 Python 飙到 C 语言的速度
开发语言·python
yunhuibin2 小时前
AlexNet网络学习
人工智能·python·深度学习·神经网络
喵手3 小时前
Python爬虫实战:增量爬虫实战 - 利用 HTTP 缓存机制实现“极致减负”(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·增量爬虫·http缓存机制·极致减负
一个处女座的程序猿O(∩_∩)O3 小时前
Python异常处理完全指南:KeyError、TypeError、ValueError深度解析
开发语言·python
was1723 小时前
使用 Python 脚本一键上传图片到兰空图床并自动复制链接
python·api上传·自建图床·一键脚本
好学且牛逼的马3 小时前
从“Oak”到“虚拟线程”:JDK 1.0到25演进全记录与核心知识点详解a
java·开发语言·python
shangjian0073 小时前
Python基础-环境安装-Anaconda配置虚拟环境
开发语言·python
codeJinger3 小时前
【Python】函数
开发语言·python
geovindu4 小时前
python: Command Pattern
开发语言·python·命令模式
曲幽4 小时前
FastAPI实战:WebSocket长连接保持与心跳机制,从入门到填坑
javascript·python·websocket·keep-alive·fastapi·heartbeat·connection