selenium 简介以及 selenium 环境配置

文章目录

  • 一、初识 selenium
    • 1.selenium 简介
    • 2.selenium 三大组件
    • 3.selenium工作过程和原理
    • 4.selenium自动化测试流程
    • 5.selenium优点
  • 二、自动化测试
    • 1.UI自动化本质
    • 2.UI自动化的前提
    • 3.适用场景
    • 4.UI自动化的原则
    • 5.UI自动化的覆盖率
  • 三、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 环境配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单点登录demo

gitee.com 搜索xxl(许雪里) 的sso 操作demo 完整流程图

网络安全控制相关技术

1.恶意代码(Malware) 网络从出现、发展演进都始终伴随着安全方面的问题,只是每个阶段表现的形式不同而已。在网络安全方面,不能不提进行网络攻击的网络病毒,或者说恶意代码(Malware)。所有恶意…

MySQL中的网络命名空间支持

Network Namespace Support(网络命名空间支持) 提供了在Linux系统中创建和管理多个隔离网络空间的能力。网络命名空间是来自主机系统的网络堆栈的逻辑副本。网络命名空间对于设置容器或虚拟环境非常有用。每个名称空间都有自己的IP地址、网络接口、路由表…

什么是应用安全态势管理 (ASPM):综合指南

软件开发在不断发展,应用程序安全也必须随之发展。 传统的应用程序安全解决方案无法跟上当今开发人员的工作方式或攻击者的工作方式。 我们需要一种新的应用程序安全方法,而ASPM在该方法中发挥着关键作用。 什么是 ASPM? 应用程序安全…

配电智能网关赋能电力系统智能化运行维护

随着智能电网和物联网技术的不断发展,两者之间的融合应用成为电力行业的重要趋势。配电智能网关作为连接两者的关键设备,在智能电网的物联网应用中发挥着重要作用。 配电智能网关能够实现对电力系统的实时监控、数据采集、远程控制等功能,为…

已解决org.omg.CORBA.portable.RemarshalException:在CORBA中需要重新编组的正确解决方法,亲测有效!!!

已解决org.omg.CORBA.portable.RemarshalException:在CORBA中需要重新编组的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 服务器端代码 客户端代码 报错原因 解决思路 解决方法 1. 检查网络连接 …

力扣:LCR 024. 反转链表(Java)

目录 题目描述:示例 1:示例 2:代码实现: 题目描述: 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出&#x…

Xinstall智能安装页面:一键唤起App,提升用户体验

在移动互联网时代,App已经成为我们日常生活中不可或缺的一部分。然而,随着App数量的不断增加,用户面临着越来越多的选择,如何快速、便捷地安装并打开App成为了用户的一大痛点。针对这一问题,Xinstall凭借其强大的技术实…

数据结构——Hash Map

1. Hash Map简介 Hash Map是一种基于键值对的数据结构,通过散列函数将键映射到存储位置,实现快速的数据查找和存储。它可以在常数时间内完成查找、插入和删除操作,因此在需要频繁进行这些操作时非常高效。 2. Hash Map的定义 散列表&#xff…

计组_程序的机器级代码表示

2024.06.13:计算机组成原理程序的机器级代码表示 第15节 程序的机器级代码表示 5.1 x86的汇编指令格式5.2 常用指令 眼熟最基础的汇编语法和助记符即可 5.1 x86的汇编指令格式 5.2 常用指令

WinSCP 登录跳板机

使用 WinSCP 登录跳板机(跳板机是一种中间服务器,用于安全连接到其他服务器)需要进行一些配置。这里是一个简单的步骤指南: 准备工作 下载和安装 WinSCP:如果你还没有 WinSCP,可以从 WinSCP 官方网站 下载…

DeepMind的新论文,长上下文的大语言模型能否取代RAG或者SQL这样的传统技术呢?

长上下文大型语言模型(LCLLMs)确实引起了一些关注。这类模型可能使某些任务的解决更加高效。例如理论上可以用来对整本书进行总结。有人认为,LCLLMs不需要像RAG这样的外部工具,这有助于优化并避免级联错误。但是也有许多人对此持怀…

【PYG】简单分析 Cora 数据集的文件 cora.cites 和 cora.content

手动下载 Cora 数据集的文件 cora.cites 和 cora.content 后,你可以通过以下步骤将它们加载到 Python 环境中,并使用 PyTorch Geometric 或其他工具进行进一步处理和分析。 数据集文件说明 cora.cites: 包含了论文之间的引用关系。每一行表示一条引用关…

WPF对象样式

基本样式设置 Style 设置指定对象的属性 属性: TargetType 引用在哪个类型上面,例如Button、Textblock。。 如果在控件对象里面设置Style,则TargetType必须指定当前控件名 只在作用域里面有效果,其他的相同控件没有影响&…

统一的可观察性和安全性如何增强你的业务?

作者:来自 Elastic Michael Calizo 利用人工智能、异常检测和增强攻击发现功能,在一个平台上增强组织的可观察性和安全性能力 当今数字环境中的组织越来越关注服务可用性,并保护其软件免受恶意篡改和攻击。传统的安全和可观察性工具通常以孤…

VBA打开其他Excel文件

前言 本节会介绍通过VBA实现打开其他excel文件,包括模糊匹配文件名称、循环同时打开多个文件,并获取工作表及工作簿进行数据操作后,对打开的文件进行保存并关闭操作。 一、打开固定文件名称的文件 场景说明: 1.新建一个宏文件VBA…

通过Python将视频添加图片

from PIL import Image from moviepy.editor import *from configs.settings import PROJECT_PATHdef movie_add_image(video_config, type, video_path, out_path):# 加载视频文件video VideoFileClip(video_path)all_time 0for config in video_config:image config.get(t…

【NFS】【部署】NFS文件系统Server端部署,及客户端挂载

服务器准备 主机名IPk8s04192.168.199.24k8s05192.168.199.25 配置husts文件 vi /etc/hosts #追加 192.168.199.24 k8s04 192.168.199.25 k8s05Server端部署 yum install -y nfs-utils创建NFS存储目录 mkdir /data配置NFS服务 vi /etc/exports #添加 /data 192.168.…

【React】上传文章封面基础实现

<Form.Item label"封面"><Form.Item name"type"><Radio.Group onChange{onTypeChange}><Radio value{1}>单图</Radio><Radio value{3}>三图</Radio><Radio value{0}>无图</Radio></Radio.Group&…

react 自定义 年-月-日 组件,单独选择年、月、日,并且产生联动

自定义 年-月-日 组件 code import { useState } from react function Year_Month_Date() {const [yearList, setYearList] useState([])const [monthList, setMonthList] useState([])const [dateList, setDateList] useState([])const [currentYear, setCurrentYear] u…