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

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

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

相关文章

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

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

和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动

11月9日,华为云“凌云出海,来中东吧”系列路演活动第二场在上海正式开启。聚焦“创业全球化”,本次活动由华为云携手阿布扎比投资办公室(ADIO)举办,旨在与渴望出海发展的优秀创业者们共探出海中东新商机。 …

【GAN】数据增强基础知识

最近要用到,但是一点基础都没有,故开个文章记录一下笔记 目录 GAN DCGAN WGAN EEGGAN GAN 参考 生成对抗网络(GAN) - 知乎 (zhihu.com) 文章 [1406.2661] Generative Adversarial Networks (arxiv.org) 代码 GitHub - …

Vue3-watchEffect函数

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

传输层安全协议TLS——密码学概述

文章目录 一、TLS1.3基础理论知识二、TLS机密性三、TLS1.3 密钥配送四、TLS1.3 消息完整性五、TLS1.3 身份验证与中间人攻击 一、TLS1.3基础理论知识 TLS 1.3 是一种用于保障网络通信安全的协议&#xff0c;它是 TLS&#xff08;Transport Layer Security&#xff09;协议的最…

一个美观且功能丰富的 .NET 控制台应用程序开源库

推荐一个美观且功能丰富的 .NET 控制台应用程序开源库&#xff0c;从此告别黑漆漆的界面。 01 项目简介 Spectre.Console 是一个开源的 .NET 库&#xff0c;用于创建美观、功能丰富的控制台&#xff08;命令行&#xff09;应用程序。它提供了一组易于使用的 API&#xff0c;…

VScode 配置用户片段

文件->首选项->配置用户片段->新建全局用户片段 后续就可以通过vv3来直接生成下面的代码 {// Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // description. Add comma separated ids of the l…

阿里云崩了,总结我们从云上搬到线下经历了什么

我们做钢铁行业云的时候&#xff0c;也曾购买过某讯的云服务器。当时某讯做活动&#xff0c;头3年比较便宜&#xff0c;大概买了40台左右云服务器。 但是&#xff0c;3年期间使用云服务器的经历&#xff0c;体验并不好&#xff1a;1.我们云服务器的密码都是随机生成的&#xff…

Shell 使用日期或计数器 命名 文件

date获取系统时间&#xff0c;"%Y_%m_%d_%H_%M_%S"指定格式&#xff0c;$time 输出时间&#xff0c; ~/Desktop/ $newFile指定位置下的文件夹 #!/bin/bashtime$(date "%Y_%m_%d_%H_%M_%S") newFile$time".log" echo $time > ~/Desktop/$newF…

多视图聚类的论文阅读

当聚类的方式使用的是某一类预定义好的相似性度量时&#xff0c; 会出现如下情况&#xff1a; 数据聚类方面取得了成功&#xff0c;但它们通常依赖于预定义的相似性度量&#xff0c;而这些度量受原始方法的影响:当输入维数相对较高时&#xff0c;往往是无效的。 1. Deep Mult…

C++ 编写动态二维double型数据类Matrix

【问题描述】 编写一个程序&#xff0c;定义一个安全、动态二维double型的数组类Matrix。 实现Matrix table(row,col)定义row行col列的二维数组, row和col为正整数&#xff1b;实现table(i,j)访问table的第i行第j列的元素&#xff0c;行号和列号从0开始&#xff1b;实现Matri…

解决Requests中使用httpbin服务器问题:自定义URL的实现与验证

问题背景 在使用Python的Requests模块进行单元测试时&#xff0c;可能会遇到无法使用本地运行的httpbin服务器进行测试的问题。这是因为测试脚本允许通过环境变量HTTPBIN_URL指定用于测试的本地httpbin实例&#xff0c;但在某些测试用例中&#xff0c;URL是硬编码为httpbin.or…

Linux 系统目录结构

Linux 系统目录结构 登录系统后&#xff0c;在当前命令窗口下输入命令&#xff1a; ls / 你会看到如下图所示: 以下是对这些目录的解释&#xff1a; /bin&#xff1a; bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot&#xff1a; 这里存放…

linux(centos7)常用命令 开启关闭防火墙

查看防火墙状态 centos7 systemctl status firewalld.service 运行上述命令后&#xff0c;如果看到有绿色字样标注的“active&#xff08;running&#xff09;”&#xff0c;说明防火墙是开启状态。 开启防火墙 centos7 systemctl start firewalld.service 关闭防火墙 c…

Java 实现统计文件字符

要求 编写程序&#xff0c;统计英文文本文件中的字符数目和单词数目。程序运行时&#xff0c;输入要统计的文件的名称&#xff0c;程序处理后输出字符数目和单词数目。 代码 import java.util.*; import java.io.IOException; import java.nio.file.*; public class Main3{p…

PbootCMS 应用快速迁移至浪潮信息 KeyarchOS 云服务器

本文我们以 PbootCMS 应用为例&#xff0c;详细介绍如何使用 X2Keyarch 迁移工具将其从 CentOS 系统迁移到浪潮信息 KeyarchOS 系统。 背景介绍 众所周知&#xff0c;CentOS 是最流行的红帽克隆版&#xff0c;因为免费&#xff0c;所以它的安装量甚至比红帽本身要大得多。本来…

Docker:深入探讨Kong开源API 网关的力量

1、简述 在当今数字化的时代,应用程序和服务之间的通信变得愈发复杂。为了简化和增强这种通信,开发者们经常使用API(Application Programming Interface)。API网关是管理、监控和安全维护API通信的关键工具之一。而在众多API网关中,Kong凭借其开源的特性、可扩展性和强大…

在Rust编程中使用泛型

1.摘要 Rust中的泛型可以让我们为像函数签名或结构体这样的项创建定义, 这样它们就可以用于多种不同的具体数据类型。下面的内容将涉及泛型定义函数、结构体、枚举和方法, 还将讨论泛型如何影响代码性能。 2.在函数定义中使用泛型 当使用泛型定义函数时&#xff0c;本来在函…

Aerial for Mac: 沉浸在高清鸟瞰的世界,让你的屏幕焕发新生

你是否已经厌倦了那些平淡无奇的屏保程序&#xff1f;是否希望你的Mac屏幕能更生动、更有趣&#xff1f;如果你对此抱有强烈的期待&#xff0c;那么Aerial for Mac绝对会是你期待已久的解决方案。 Aerial for Mac是一款独具特色的高清屏保程序&#xff0c;它以鸟瞰的视角带你领…

【Android】带下划线的TextView

序言 我们有时候需要一个类似这样的显示&#xff0c;上面是文字&#xff0c;下面是一条线 这样的显示效果是TextView实现不了的&#xff0c;需要我们自己进行修改一下。 实现 创建一个UnderlineTextView&#xff0c;继承系统的TextView class UnderlineTextView(mContext…