自动化测试之 selenium 的安装以及 selenium IDE 录制自动化脚本的用法

news2024/12/22 22:00:43

文章目录

  • 1. 什么是自动化测试
    • 1)单元测试
    • 2)接口自动化
    • 3)UI 自动化
  • 2. Selenium 介绍
    • 1)Selenium IDE
    • 2)Webdriver
    • 3)Selenium Grid
  • 3. 如何使用 Selenium IDE 录制脚本
  • 4. 在 python 环境中安装 Selenium 框架

1. 什么是自动化测试

自动化测试是指在预设的条件下,不需要手工干涉,机器就可以自动执行测试

预设的条件是指针对测试用例编写的自动化测试脚本

自动化的价值: 脚本的复用率、复用率越高、价值越高

自动化测试包括:UI 自动化、接口自动化、单元测试自动化

请添加图片描述

1)单元测试

单元测试就是针对系统的最小模块进行测试

Java 中使用 Junit 框架进行单元测试

2)接口自动化

接口测试就是针对系统中每个模块之间的接口进行测试

测试阶段: 项目前期接口开发完成后就可以进行测试

适用的项目: 接口自动化适用于接口变动较少的项目

常用的接口自动化测试工具: Postman、ApiPost、SoapUI 等

3)UI 自动化

对系统的界面元素进行操作,用脚本实现模拟用户的使用,完成功能的正常和异常测试

测试阶段: 项目后期,项目完成前后端的开发之后

适合的项目: 适合界面元素变动比较小的项目

UI 自动化的好处:

  • 可以进行回归测试
  • 可以节省人力资源
  • 可以运行更多更繁琐的测试
  • 可以执行一些手工无法完成的测试
  • 一种可靠的测试方式,机器基本不会出错
  • 脚本的复用性

常用的框架: Selenium 测试框架

2. Selenium 介绍

Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。

Selenium 由 Selenium IDE, Webdriver,Selenium Grid组成。

1)Selenium IDE

Selenium IDE 一个用于 Selenium 测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。调试过程中可以逐步进行或调整执行的速度,并且可以在底部浏览日志出错信息。

录制的测试脚本可以以多种语言导出,比如 java,C#,Python,Ruby等,方便掌握不同语言的测试人 员操作。

2)Webdriver

工作原理:

  1. 启动浏览器后,将浏览器绑定到一个特定的端口,启动后的浏览器则作为 Webdriver 的 remote server(远程服务器)
  2. 脚本通过 CommandExecutor 接口,向浏览器发送 HTTP 请求,请求中包含一些操作指令,告诉浏览器该做什么
  3. 浏览器驱动将指令解析为 Web Service 的命令,驱动浏览器进行操作

3)Selenium Grid

selenium Grid是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。

3. 如何使用 Selenium IDE 录制脚本

  1. 首先先在浏览器的拓展中安装 Selenium IDE

    请添加图片描述

  2. 打开安装好的插件,点击 Record a new test in a new project,创建一个新的录制项目

    请添加图片描述

  3. 设置项目名和访问的 URL

请添加图片描述

请添加图片描述

  1. 点击 START RECORDING 就会新打开一个网页并且访问刚刚指定的 URL,我们只需要在网页中进行操作,操作完成后回到 IDE 界面点击停止按钮,最后为这个录制命名即可

请添加图片描述

  1. 点击录制成功后项目旁边的功能键,选择 Export 即可导出指定语言的自动化脚本

请添加图片描述

请添加图片描述

4. 在 python 环境中安装 Selenium 框架

  1. 安装 selenium

    • 打开 cmd 输入命令 pip install selenium 即可安装

      如果安装不成功,可以使用镜像安装,镜像地址可以随意更换pip install selenium -i https://mirrors.aliyun.com/pypi/simple

    • 检查 Selenium 是否安装成功,使用 cmd 命令 pip install selenium 查看

    请添加图片描述

  2. 安装驱动

    只有安装了对应的 driver 驱动才能运行对应的浏览器

    • 火狐驱动 geckodriver.exe

      下载地址:https://github.com/mozilla/geckodriver/releases,请根据系统版本选择下载;(如 Windows 64位系统) 下载解压后将getckodriver.exe复制到Python的安装目录Scripts文件夹下

    • 谷歌驱动 chrome driver

      下载地址:http://npm.taobao.org/mirrors/chromedriver/ 下载解压,你会得到一个chromedriver.exe 文件,放到安装Python的目录的Scripts文件夹下。

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

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

相关文章

RSA--维纳攻击--代码和题目分析

文章目录 维纳攻击原理:维纳攻击脚本[羊城杯 2020]RRRRRRRSA 1题目描述:题目分析: 收获与体会: 维纳攻击原理: 两位大佬讲得非常清楚(搬运工就是我):https://zhuanlan.zhihu.com/p/…

代码随想录算法训练营第五十二天| 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

文章目录 300.最长递增子序列674. 最长连续递增序列718. 最长重复子数组 300.最长递增子序列 想清楚如何推导dp数组是关键 两层for循环,因为递增序列不是连续的 题目链接:代码随想录 解题思路: 1.dp[i]表示i之前包括i的以nums[i]结尾的最长递…

SpringBoot整合Mybatis-Plus实现浏览数据新增、Redis进行热度排名

在开发Web项目时,常用到的技术就是SpringBoot和Mybatis-Plus。本文将介绍如何使用SpringBoot整合Mybatis-Plus实现一个浏览数据新增功能,以及如何用Redis进行热度排名统计,最后用Vue进行数据渲染。 一、SpringBoot整合Mybatis-Plus 1. 新建…

0 基础 Java 自学之路(2023年最新版)

目录 一、语言的选择二、Java学习路线三、学习资料哪里找?1、Java经典书籍推荐2、Java经典视频推荐3、经典博客推荐 四、如何规划时间?五、是否要报培训班? 写了10多年的代码,之前做过某东的高级架构师,在技术这条路上…

BIOS主板(非UEFI)安装fedora36的方法

BIOS主板(非UEFI)安装fedora36的方法 现实困难:将Fedora-Workstation-Live-x86_64-38-1.6.iso写入U盘制作成可启动U盘启动fedora38安装时报错如下内容: Failed to find a suitable stage1 device: EFI System Partition cannot be of type ntfs: EFI Sys…

携创教育:自考、成考、开放大学几年能够毕业拿证?

目前,国家承认的成人学历提升的形式只有3种,分别是自考,成考,开放大学。 ▼各学历形式拿证时间▼ ★自学考试 自考没有入学考试,只需要参加相应的课程考试,所有课程考试合格后,符合毕业条件即可…

【论文简述】Cross-Attentional Flow Transformer for Robust Optical Flow(CVPR 2022)

一、论文简述 1. 第一作者:Xiuchao Sui、Shaohua Li 2. 发表年份:2021 3. 发表期刊:arxiv 4. 关键词:光流、Transformer、自注意力、交叉注意力、相关体 5. 探索动机:由于卷积的局部性和刚性权重,有限…

Flutter 中使用 Widgetbook 管理你的组件

Flutter 中使用 Widgetbook 管理你的组件 前言 Flutter 界面开发中我们有几个痛点 : 与设计师协作复用一套设计规范(figma) 可视化的管理你的组件代码(基础组件、业务组件) 不同设备尺寸测试你的组件 实时修改你的测试…

【事务】在spring中事务不生效的场景总结

在开发过程中会遇到事务失效的问题,所以在开发中要特别注意,下面我自己总结了事务不生效的场景,提醒自己。 一般出现问题分为几大类: 配置问题spring aop代理问题底层数据库不支持事务问题Transactional 配置错误开发过程中使用错…

Go有序map:orderedmap

有序映射 与传统的无序映射(Map)不同,orderedmap包中的有序映射(OrderedMap)可以记录键值对的插入顺序。orderedmap提供了一些有用的API,用来存储、删除、查询和遍历键值对。 获取OrderedMap 你可以通过Ord…

地面分割--Fast Segmentation of 3D Point Clouds for Ground Vehicles论文阅读与源码分析

文章目录 1写在前面的话2点云投影分块3地面点云分割4核心代码阅读投影分块直线拟合代码分割地面点云 5实验效果参考 1写在前面的话 这篇文章属于地面分割领域非常经典的一篇论文,论文具有速度快,在一定程度能适应有坡度的地形,文章主要分为两…

学习使用ansible自动化运维工具

目录 一、虚拟机环境 二、yum方式部署 三、ansible使用 (一)将ansible服务器上文件分发给各节点 1. 创建一个要复制的文件,并复制到Ansible管理主机上 2.编辑Ansible的playbook文件,将copy模块添加到任务列表中 3. 运行play…

【c++迭代器模拟实现】

目录: 前言一、STL初始二、六大组件之迭代器迭代器初始迭代器的模拟实现(1)victor正向迭代器反向迭代器1反向迭代器2反向迭代器3 (2)list正向迭代器反向迭代器 总结 前言 打怪升级:第52天 一、STL初始 什…

和chatgpt一样的大模型LLaMA可以运行在pc上?

未来已来,大模型依据压缩模型的方式,可以在普通的PC上运行. LLaMA Facebook的LLaMA 模型和Georgi Gerganov 的llama.cpp的结合。 LLaMA,这是一组包含 7B 到 65B 参数的基础语言模型。我们在数万亿个令牌上训练我们的模型,并表明可以仅使用公开可用的数…

【Android入门到项目实战-- 9.1】—— 传感器的使用教程

目录 传感器的定义 三大类型传感器 1、运动传感器 2、环境传感器 3、位置传感器 传感器开发框架 1、SensorManager 2、Sensor 3、SensorEvent 4、SensorEventListener 一、使用传感器开发步骤 1、获取传感器信息 1)、获取传感器管理器 2)、获取设备的传感器对象列…

Java红黑树

概述 红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构。1972年出现的,当时被称之为平衡二叉B树。在1978年被修改为红黑树。红黑树是一种特殊的二叉查找树,红黑树上的每一个节点都有存储位表示节点的颜色。每一个节点可以是…

Java枚举:为什么它是单例模式的最佳选择?

前言 单例模式,是工作中比较常见的一种设计模式,通常有两种实现方式,懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使用同步锁机制来保证只有一个实例被创建,这会影响程序的性能。而饿汉式在类加载时…

《发展心理学——儿童与青少年》读书笔记

这是我读的第一本关于育儿教育类的书,该书的作者是David R. Shaffer,由北京师范大学博士生导师邹泓审校,由其底下的博士生们翻译。我看的是中文第九版。下面是我在阅读此书时做的关键摘录和部分感想: 第1章 导论:发展心理学及其研…

Java基础(二十一):集合源码

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

耗时2.5h含泪打造windows10家庭版docker安装

文章目录 一、事出有因二、安装流程Problem1Problem2Problem3 三、胜利的曙光 一、事出有因 由于最近需要跑通github上的一个代码,那个github上的代码需要通过docker部署到本地,但是我的电脑上并没有docker,真的是含泪历时2.5h才把docker在我的windows电…