当前位置: 首页 > news >正文

【如何学习Python自动化测试】—— 自动化测试环境搭建

1、 自动化测试环境搭建

1.1 为什么选择 Python

      什么是python,引用python官方的说法就是“一种解释型的、面向对象、带有励志语义的高级程序设计语言”,对于很多测试人员来说,这段话包含了很多术语,而测试人员大多是希望利用编程语言来帮助他实现自动化的测试,而不需要花费大量的精力来学习一门编程语言。

      Python在自动化测试中有以下优势:

  1. 简洁易学:Python的语法简单明了,易于学习和使用,编写测试用例时可以更快速地完成任务。
  2. 库丰富:Python有丰富的开源库和工具,可以快速实现测试框架、数据驱动等常见测试需求。比如:Selenium、Robot Framework、Pytest等。
  3. 跨平台支持:Python可以在各种操作系统上运行,包括Windows、Linux、Mac OS等。
  4. 维护方便:Python代码的可读性高,更容易维护和调试,能够快速定位和解决问题。
  5. 集成能力强:Python可以与其他编程语言和工具进行很好的集成,例如:Java、C++、Jenkins等。

      综上所述,Python在自动化测试中是一种非常流行的语言选择,因为它能够提供快速、可靠、灵活的解决方案。

1.2 Selenium 简介

      Selenium 是 Thought Works 公司开发的一套基于 web 应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回归测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。

      Selenium支持多种编程语言,包括Java,C#,Python,Ruby和JavaScript,因此可以在不同的操作系统和浏览器上运行。它也可以与许多测试框架和工具集成,例如JUnit,TestNG,Maven和Jenkins。

      Selenium有三个主要组成部分:Selenium IDE,Selenium WebDriver和Selenium Grid。Selenium IDE是一个浏览器插件,用于记录和回放测试脚本。Selenium WebDriver是一个更高级的API,它允许测试人员编写更灵活和复杂的测试脚本,并且可以在不同的浏览器中运行。Selenium Grid是一个用于分布式测试的服务器,可以同时运行多个浏览器实例和测试脚本。

      Selenium分为1.0和2.0两个大版本,1.0 主要包含 ide、core和rc三大部分。2.0 集成了 1.0 的功能,同时集成了 webdriver,WebDriver 旨在提供一个更简单,更简洁的编程接口以及解决一些 Selenium-RC API的限制。Selenium-Webdriver 更好的支持页面本身不重新加载而页面的元素改变的动态网页WebDriver 的目标是提供一个良好设计的面向对象的API,提供了对于现代先进web 应用程序测试问题的改进支持。

Selenium 主要结构:
在这里插入图片描述

在这里插入图片描述
      IDE : 可以通过IDE 完成测试过程的录制和回放。主要用来给初学者了解selenium,但不适合直接作为日常自动化的测试.
      Grid : 是 selenium 部署、测试及执行.
      RC : selenium Remote Control,一个代理与控制器.
      Core : selenium 的测试机制核心部分,包含测试用例集的执行,断言,由is代码组成,支持跨平台运行。

Webdriver结构:
在这里插入图片描述
selenium 分为四层:
      Selenium test: 业务脚本层,支持各种编程语言脚本 java、C#、Ruby、python、js等。
      Webdriver: 实现模拟用户在浏览器中的各种操作。
      浏览器: 几乎支持所有浏览器。
      业务层: 即被测对象。

Selenium 的目录结构:

在这里插入图片描述

Selenium 异常处理部分:

在这里插入图片描述

1.3 Python 安装

搭建 python 环境:
1、 下载 python

      Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:

      Python官网:https://www.python.org/

      你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。

      Python文档下载地址:https://www.python.org/doc/
在这里插入图片描述

2、 下载 python 的基础包工具 setuptools
      https://pypi.python.org/pypi/setuptools
在这里插入图片描述

3、 下载 python 安装包管理工具 pip
      https://pypi.python.org/pypi/pip

在这里插入图片描述

安装步骤:
      Python 安装,下载自己系统对应的 python 版本,32 位的下载对应 32位安装包,64 位下载对应版本。双击安装程序。默认安装路径为 c:\python27。 Python 安装完成后,需要将 python 的安装路径加入到 path 变量中。

在这里插入图片描述
检查 python 安装是否成功:
      在 cmd 中执行 python,如果出现下列界面,则表示 python 安装成功。
在这里插入图片描述
      Setuptools 的安装相同,默认会找到 python 的安装路径,将安装在c:\python27\Lib\site-packages

      将 Setuptools 文件包迚行解压,解压到 D:\setuptools-36.2.7
      打开 cmd,执行 cd D:\setuptools-36.2.7
      执行 python setup.py install 进行安装。
      1、 安装 pip,将 pip 的包解压,解压后通过 cmd 进入该目录,执行 python setup.py install.
      例如:
            pip 安装包在 D:\下,解压后为 D:\pip-9.0.1
            打开 cmd,执行 cd D:\pip-9.0.1,再执行 python setup.py install 进行安装。
      第二种安装方式为:
            打开 cmd 窗口,执行 easy_install pip。

1.4 selenium 环境搭建

      selenium 下载:https://pypi.python.org/pypi/selenium
      selenium 安装,将安装包下载后,解压,解压完成后,通过 cmd 进入解压后的目录,执行 python setup.py install。
      如果你的机器没有联网,则使用上述方法,如果已经联网,则可以使用 pip install selenium。

检查 selenium 是否安装成功:
在这里插入图片描述

执行上述命令后,如果已经安装成功,则会打开一个 firefox 浏览器界面。
在这里插入图片描述

命令解释:
      Python 进入 python 开发界面。
      from selenium import webdriver:加载 selenium 中的 webdriver
      driver=webdriver.Firefox():打开一个 firefox 浏览器,并将操作浏览器的句柄赋 给 driver 变量。
      driver.get(‘https://www.baidu.com’):打开浏览器后,在浏览器中输入百度 url 地址,转到百度页面。


      下篇介绍 webdriver 对浏览器操作的 API。

相关文章:

【如何学习Python自动化测试】—— 自动化测试环境搭建

1、 自动化测试环境搭建 1.1 为什么选择 Python 什么是python,引用python官方的说法就是“一种解释型的、面向对象、带有励志语义的高级程序设计语言”,对于很多测试人员来说,这段话包含了很多术语,而测试人员大多是希望利用编程…...

在通用jar包中引入其他spring boot starter,并在通用jar包中直接配置这些starter的yml相关属性

场景 我在通用jar包中引入 spring-boot-starter-actuator 这样希望引用通用jar的所有服务都可以直接使用 actuator 中的功能, 问题在于,正常情况下,actuator的配置都写在每个项目的yml文件中,这就意味着,虽然每个项目…...

Seaborn 回归(Regression)及矩阵(Matrix)绘图

Seaborn中的回归包括回归拟合曲线图以及回归误差图。Matrix图主要是热度图。 1. 回归及矩阵绘图API概述 seaborn中“回归”绘图函数共3个: lmplot(回归统计绘图):figure级regplot函数,绘图同regplot完全相同。(lm指lin…...

nginx学习(1)

一、下载安装NGINX: 先安装gcc-c编译器 yum install gcc-c yum install -y openssl openssl-devel(1)下载pcre-8.3.7.tar.gz 直接访问:http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz,就…...

CLEARTEXT communication to XX not permitted by network security policy 报错

在进行网络请求时,日志中打印 CLEARTEXT communication to XX not permitted by network security policy 原因: Android P系统网络访问安全策略升级,限制了非加密的流量请求 Android P系统限制了明文流量的网络请求,之下的版本…...

91.移动零(力扣)

问题描述 代码解决以及思想 class Solution { public:void moveZeroes(vector<int>& nums) {int left 0; // 左指针&#xff0c;用于指向当前非零元素应该放置的位置int right 0; // 右指针&#xff0c;用于遍历数组int len nums.size(); // 数组长度while …...

PatchMatchNet笔记

PatchMatchNet笔记 1 概述2 PatchmatchNet网络结构图2.1 多尺度特征提取2.2 基于学习的补丁匹配 3 性能评价 PatchmatchNet: Learned Multi-View Patchmatch Stereo&#xff1a;基于学习的多视角补丁匹配立体算法 1 概述 特点   高速&#xff0c;低内存&#xff0c;可以处理…...

实时人眼追踪、内置3D引擎,联想ThinkVision裸眼3D显示器创新四大应用场景

11月17日&#xff0c;在以“因思而变 智领未来”为主题的Think Centre和ThinkVision 20周年纪念活动上&#xff0c;联想正式发布了业内首款2D/3D 可切换裸眼3D显示器——联想ThinkVision 27 3D。该产品首次将裸眼2D、3D可切换技术应用在显示器领域&#xff0c;并拓展了3D技术多…...

SELinux零知识学习十四、SELinux策略语言之客体类别和许可(8)

接前一篇文章&#xff1a;SELinux零知识学习十三、SELinux策略语言之客体类别和许可&#xff08;7&#xff09; 一、SELinux策略语言之客体类别和许可 4. 客体类别许可实例 &#xff08;2&#xff09;文件客体类别许可 文件客体类别有三类许可&#xff1a;直接映像到标准Lin…...

Unity——URP相机详解

2021版本URP项目下的相机&#xff0c;一般新建一个相机有如下组件 1:Render Type(渲染类型) 有Base和Overlay两种选项&#xff0c;默认是Base选项 Base:主相机使用该种渲染方式&#xff0c;负责渲染场景中的主要图形元素 Overlay&#xff08;叠加&#xff09;:使用了Oveylay的…...

CRUD-SQL

文章目录 前置insertSelective和upsertSelective使用姿势手写sql&#xff0c;有两种方式 一、增当导入的数据不存在时则进行添加&#xff0c;有则更新 1.1 唯一键&#xff0c;先查&#xff0c;后插1.2 批量插1.2.1 批次一200、批次二200、批次三200&#xff0c;有一条数据写入失…...

【C语言 | 数组】C语言数组详解(经典,超详细)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

第三十三节——组合式API生命周期

一、基本使用 组合式api生命周期几乎和选项式一致。注意组合式api是从挂载阶段开始 <template><div></div> </template> <script setup> import {onBeforeMount, onMounted,onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, } from …...

【Linux】Alibaba Cloud Linux 3 安装 PHP8.1

一、系统安装 请参考 【Linux】Alibaba Cloud Linux 3 中第二硬盘、MySQL8.、MySQL7.、Redis、Nginx、Java 系统安装 二、安装源 rpm -ivh --nodeps https://rpms.remirepo.net/enterprise/remi-release-8.rpm sed -i s/PLATFORM_ID"platform:al8"/PLATFORM_ID&q…...

【容器化】Kubernetes(k8s)

文章目录 概述Docker 的管理痛点什么是 K8s云架构 & 云原生 架构核心组件K8s 的服务注册与发现组件调用流程部署单机版部署主从版本Operator来源拓展阅读 概述 Docker 虽好用&#xff0c;但面对强大的集群&#xff0c;成千上万的容器&#xff0c;突然感觉不香了。 这时候就…...

stm32 HSUSB

/ stm32f407xx.h #define USB_OTG_HS_PERIPH_BASE 0x40040000UL #define USB_OTG_HS ((USB_OTG_GlobalTypeDef *) USB_OTG_HS_PERIPH_BASE) // // 定义全局变量 USBD_HandleTypeDef hUsbDeviceHS;并默认全零初始化/* USB Device handle structure */ typedef struct _USB…...

C# String.Trim 方法

String.Trim()方法定义&#xff1a; 命名空间&#xff1a;System 程序集&#xff1a;System.Runtime.dll 返回结果&#xff1a;返回一个新字符串&#xff0c;它相当于从当前字符串中删除了一组指定字符的所有前导匹配项和尾随匹配项。 Trim方法有三个重载的方法&#xff0c;…...

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 4》(8)

《Linux操作系统原理分析之Linux 进程管理 4》&#xff08;8&#xff09; 4 Linux 进程管理4.4 Linux 进程的创建和撤销4.4.1 Linux 进程的族亲关系4.4.2 Linux 进程的创建4.4.3 Linux 进程创建的过程4.4.4 Linux 进程的执行4.4.5 Linux 进程的终止和撤销 4 Linux 进程管理 4.…...

RT-Thread STM32F407 PWM

为了展示PWM效果&#xff0c;这里用ADC来采集PWM输出通道的电平变化 第一步&#xff0c;进入RT-Thread Settings配置PWM驱动 第二步&#xff0c;进入board.h&#xff0c;打开PWM宏 第三步&#xff0c;进入STM32CubeMX&#xff0c;配置时钟及PWM 第四步&#xff0c;回到R…...

idea中把spring boot项目打成jar包

打jar包 打开项目&#xff0c;右击项目选中Open Module Settings进入project Structure 选中Artifacts&#xff0c;点击中间的加号&#xff08;Project Settings->Artifacts->JAR->From modules with dependencies &#xff09; 弹出Create JAR from Modules&#…...

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果:使用Typora风格进行优雅排版

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果&#xff1a;使用Typora风格进行优雅排版 不知道你有没有过这样的经历&#xff1a;辛辛苦苦写了一大堆技术笔记&#xff0c;代码片段、命令、思路混杂在一起&#xff0c;过几天自己再看&#xff0c;都感觉像在看天书。或者&…...

硬件(6)——定时器

硬件中如何确定引脚电平的高低?硬件内部有一个比较器&#xff0c;类似门电路&#xff0c;有两个输入一个输出&#xff0c;其中一个输入接稳定的参考值&#xff08;DCDC 3.3V&#xff09;&#xff0c;另一个输入接引脚。当引脚高于3.3V就输出高电平&#xff0c;引脚低于3.3V就输…...

3步学会BilibiliDown:零基础掌握B站视频下载的终极指南

3步学会BilibiliDown&#xff1a;零基础掌握B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...

Legacy iOS Kit终极指南:旧款iOS设备降级、越狱与恢复完整教程

Legacy iOS Kit终极指南&#xff1a;旧款iOS设备降级、越狱与恢复完整教程 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

LIN Switch Method:从硬件革新到软件流程,揭秘车内氛围灯自动寻址的完整闭环

1. 为什么车内氛围灯需要自动寻址技术 十年前的车内照明还停留在基础功能阶段&#xff0c;而现在的高端车型已经将氛围灯玩出了新花样。想象一下&#xff0c;当你打开车门时&#xff0c;迎宾灯像流水一样从车头滑向车尾&#xff1b;调节空调温度时&#xff0c;出风口周围的灯光…...

炸锅!中科院分区永久停更,新锐分区接棒,科研圈要变天?

最近科研圈最大的瓜&#xff0c;莫过于中科院期刊分区的“换马甲”事件——运行22年的官方中科院分区正式谢幕&#xff0c;原团队转身推出“新锐期刊分区”&#xff0c;一石激起千层浪&#xff0c;不同立场的声音吵翻了论坛。今天就来梳理下整个事件的来龙去脉&#xff0c;拆解…...

如何快速掌握深度学习调参技巧:tuning_playbook_zh_cn完全解析

如何快速掌握深度学习调参技巧&#xff1a;tuning_playbook_zh_cn完全解析 【免费下载链接】tuning_playbook_zh_cn 一本系统地教你将深度学习模型的性能最大化的战术手册。 项目地址: https://gitcode.com/gh_mirrors/tu/tuning_playbook_zh_cn tuning_playbook_zh_cn是…...

DDD 领域驱动设计实战:从理论到代码

DDD 领域驱动设计实战&#xff1a;从理论到代码别叫我大神&#xff0c;叫我 Alex 就好。DDD 不是银弹&#xff0c;但它是处理复杂业务逻辑的利器。一、DDD 核心概念 1.1 分层架构 ┌─────────────────────────────────────────┐ │ …...

企业数字化转型基石:全面认识4A企业架构数据架构方案

数据架构是企业架构中连接业务、应用与技术的桥梁&#xff0c;通过数据资产目录厘清家底&#xff0c;数据标准统一语言&#xff0c;数据模型指导开发&#xff0c;数据分布拉通业务流&#xff0c;从而提升数据质量与运作效率&#xff0c;支撑业务决策与系统建设。 统一语言&…...

Flux Sea Studio 与Node.js全栈项目集成:打造在线海景艺术画廊

Flux Sea Studio 与Node.js全栈项目集成&#xff1a;打造在线海景艺术画廊 最近在做一个挺有意思的业余项目&#xff0c;想给喜欢海洋艺术的朋友们弄个在线画廊。这个画廊的特别之处在于&#xff0c;它不只是展示静态图片&#xff0c;而是能让用户自己动手&#xff0c;用文字描…...