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

相关推荐
启观川5 分钟前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
用户3721574261358 分钟前
如何使用 Python 给 PDF 添加附件:文档附件与附件注释
python
λqaq716 分钟前
Redis 数据库基础:安装、5 大核心数据类型与常用命令
linux·数据库·redis·python·缓存
天天被压力19 分钟前
【零依赖量化数据实战 #31】沪深A实时盘口全景:逐笔·全盘实时·最新价·历史逐笔
java·人工智能·python
今天AI了吗1 小时前
【AI】一文讲清 RAG:从大模型局限到企业级知识库落地流程
前端·javascript·人工智能·python·深度学习·机器学习·easyui
“AI国潮设计-小江”1 小时前
《Python实战 | 用SDXL大模型生成“潮汕英歌舞”国潮IP头像,已申请外观专利,附Prompt思路!》
人工智能·python·prompt·aigc·scikit-learn
Zane19941 小时前
斐波那契数列加个装饰器,速度快了近五千倍:functools 三件套详解
后端·python
霸道流氓气质1 小时前
Spring AI提示词模板与动态变量替换
java·python·spring
民乐团扒谱机1 小时前
【超详细】PyQt6 实现 AU 风格波形图编辑器:多级缩放与采样点逐级渲染,附全过程代码
开发语言·python·编辑器·pyqt·audition·时域·频谱图
CTA量化套保1 小时前
先跑清楚小流程,再让量化功能变复杂
人工智能·python