【如何学习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。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业数字化转型的好处?_光点科技

企业数字化转型是当今商业世界中一个至关重要的议题。数字化转型不仅仅意味着采用新技术,而是涉及到企业在文化、运营和客户体验方面的根本变革。那么,企业数字化转型的好处是什么呢? 1.数字化转型可以显著提高企业的运营效率。 通过自动化流…

MySQL数据库——存储过程-游标(介绍-声明游标、打开游标、获取游标记录、关闭游标,案例)

目录 介绍 声明游标 打开游标 获取游标记录 关闭游标 案例 介绍 游标(CURSOR)是用来存储查询结果集的数据类型 , 在存储过程和函数中可以使用游标对结果集进行循环的处理。 游标的使用包括游标的声明、OPEN、FETCH 和 CLOSE,其语法…

集成环信IM时常见问题及解决——包括消息、群组、推送

一、消息 环信是不支持空会话的,在插入一个会话,一定要给这个会话再插入一条消息; 发送透传消息也就是cmd消息时,value的em_开头的字段为环信内部消息字段,如果使用会出现收不到消息回调的情况; 如果发送…

基于Pytorch的从零开始的目标检测

引言 目标检测是计算机视觉中一个非常流行的任务,在这个任务中,给定一个图像,你预测图像中物体的包围盒(通常是矩形的) ,并且识别物体的类型。在这个图像中可能有多个对象,而且现在有各种先进的技术和框架来解决这个问…

硬件开发笔记(十二):RK3568底板电路电源模块和RTC模块原理图分析

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134429973 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

【机器学习11】强化学习

1 基本概念 一个机器人在环境中会做各种动作, 环境会接收动作, 并引起自身状态的变迁, 同时给机器人以奖励。 机器人的目标就是使用一些策略, 做合适的动作, 最大化自身的收益。 整个场景一般可以描述为一个马尔可夫…

解决更换NodeJs版本后npm -v返回空白

一、问题描述 win11电脑上输入cmd进入控制台,输入 node --version 有正常返回安装的nodejs的版本号 再输入 npm -v 返回空白。正常情况应该是要返回版本号。 二、问题背景 最近准备学习vue,在不久前已经安装了NodeJs和python。运行了好几个开源项…

vue-pdf在vue框架中的使用

在components目录下新建PdfViewer/index.vue vue-pdf版本为4.3.0 <template><div :id"containerId" v-if"hasProps" class"container"><div class"right-btn"><div class"pageNum"><input v-m…

Pytorch plt.scatter()函数用法

一.scatter&#xff08;&#xff09;函数的定义 matplotlib.pyplot.scatter(x, y, sNone, cNone, markerNone, cmapNone, normNone, vminNone, vmaxNone, alphaNone, linewidthsNone, vertsNone, edgecolorsNone, *, dataNone, **kwargs) 特征值作用x&#xff0c;y绘制散点图…

【代数学习题3】从零理解数域扩张与嵌入 —— 同构、商环、分裂域与同态映射

数域的结构——数域的扩张、嵌入 写在最前面从零开始的概念合集从零理解数域的扩张和同构概念基本概念同构的概念商环的概念 2 3 \sqrt[3]{2} 32 ​ 有三个 Q \mathbb{Q} Q-嵌入&#xff08;同态映射&#xff09; Q ( 2 3 ) \mathbb{Q}(\sqrt[3]{2}) Q(32 ​) 和 Q [ x ] / (…

通过 Canal 将 MySQL 数据实时同步到 Easysearch

Canal 是阿里巴巴集团提供的一个开源产品&#xff0c;能够通过解析数据库的增量日志&#xff0c;提供增量数据的订阅和消费功能。使用 Canal 模拟成 MySQL 的 Slave&#xff0c;实时接收 MySQL 的增量数据 binlog&#xff0c;然后通过 RESTful API 将数据写入到 Easysearch 中。…

2023年AI生成音频研究报告

第一章 行业概况 1.1 定义 AI音频生成行业&#xff0c;作为人工智能生成内容&#xff08;AIGC&#xff09;技术渗透的关键领域&#xff0c;正迅速成为技术革新的前沿阵地。这一领域专注于运用先进的人工智能技术和复杂算法来创造音频内容&#xff0c;覆盖了语音合成、音乐制作…

(论文阅读40-45)图像描述1

40.文献阅读笔记&#xff08;m-RNN&#xff09; 简介 题目 Explain Images with Multimodal Recurrent Neural Networks 作者 Junhua Mao, Wei Xu, Yi Yang, Jiang Wang, Alan L. Yuille, arXiv:1410.1090 原文链接 http://arxiv.org/pdf/1410.1090.pdf 关键词 m-RNN、…

Odoo:行业领先的免费开源财务管理解决方案

面向现代企业的财务和会计软件 可靠关账&#xff0c;更快速、更准确地报告财务数据 Odoo ERP财务和会计软件可帮助财务主管设计、革新和理顺财务流程和运营。Odoo ERP无缝整合各种核心财务和会计功能&#xff0c;提供强大的合规管理特性&#xff0c;有助于企业改善业务绩效、提…

react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作

最近公司某一项目的手机端&#xff0c;新增需求&#xff1a;table中的附件要可以编辑&#xff0c;并且是在特定条件下可编辑&#xff0c;其他仅做展示效果。 查阅官方文档&#xff0c;没有发现是否隐藏这一属性&#xff0c;通过css控制样式感觉也比较麻烦&#xff0c;后面发现可…

预告|万博智云CTO孙琦将出席2023 OpenInfra Days China,并发表最新容灾方案,欢迎报名参会!

2023年12月1日&#xff0c;北京海航万豪酒店将迎来一场令人瞩目的盛会——OpenInfra Days China 2023。 大会主题 本次活动是时隔两年来的首次线下盛会&#xff0c;聚集了全球社区的技术专家、行业领袖以及国内开源基础设施技术企业的代表&#xff0c;旨在交流研究OpenInfra基…

小程序授权获取头像

wxml <view class"header"><text>头像</text><button class"butt" plain"true" open-type"chooseAvatar" bind:chooseavatar"chooseAvatar"><image src"{{HeadUrl}}" mode"&quo…

Vue3-watchEffect函数

Vue3-watchEffect函数 功能&#xff1a;watchEffect 函数在一开始时就会执行一次&#xff0c;而当中的回调函数的属性发生变化&#xff0c;那么watchEffect 就会再执行一次&#xff0c;主要作用还是在于监视回调函数每次的变化。 // App.vue <template><h2>计数…

JavaScript 浮点数运算的精度问题及解决

JavaScript 浮点数运算的精度问题及解决 在 JavaScript 中整数和浮点数都属于 Number 数据类型&#xff0c;当浮点数做数学运算的时候&#xff0c;你经常会发现一些问题&#xff0c;举几个例子&#xff1a; 0.1 0.2 0.30000000000000004 console.log(0.1 0.2) 0.3000000…

“可信区块链运行监测服务平台TBM发展研讨会”将于11月23日在北京召开

为推动区块链治理与创新&#xff0c;积极推进信任科技生态体系建设&#xff0c;中国信息通信研究院、中国移动设计院联合区块链服务网络&#xff08;BSN&#xff09;发展联盟共同发起建立了可信区块链运行监测服务平台&#xff08;TBM&#xff09;。 TBM平台通过对区块链系统的…