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

news2024/11/18 4:51:07

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.coloradmin.cn/o/1222249.html

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

相关文章

机器学习:十大算法快速回顾

一、说明 对于机器学习的是个经典算法,本篇将展示一个回顾,注意,本篇不是具体原理信息介绍,没有代码,但是对于初学者是一个有益的导读。 二. 线性回归 2.1 算法描述 有没有想过数据奇才如何预测未来?输入线…

【spring】ApplicationContext的实现

目录 一、ClassPathXmlApplicationContext1.1 说明1.2 代码示例1.3 截图示例 二、FileSystemXmlApplicationContext2.1 说明2.2 代码示例2.3 加载xml的bean定义示例 三、AnnotationConfigApplicationContext3.1 说明3.2 代码示例3.3 截图示例 四、AnnotationConfigServletWebSe…

40 _ 初识动态规划:如何巧妙解决“双十一”购物时的凑单问题?

淘宝的“双十一”购物节有各种促销活动,比如“满200元减50元”。假设你女朋友的购物车中有n个(n>100)想买的商品,她希望从里面选几个,在凑够满减条件的前提下,让选出来的商品价格总和最大程度地接近满减条件(200元),这样就可以极大限度地“薅羊毛”。作为程序员的你…

【汇编】栈及栈操作的实现

文章目录 前言一、栈是什么?二、栈的特点三、栈操作四、8086cpu操作栈4.1 汇编指令4.2 汇编代码讲解问题:回答: 4.3 栈的操作4.3 push 指令和pop指令的执行过程执行入栈(push)时,栈顶超出栈空间执行出栈(pop)时,栈顶超…

Bert浅谈

优点 首先,bert的创新点在于利用了双向transformer,这就跟openai的gpt有区别,gpt是采用单向的transformer,而作者认为双向transformer更能够融合上下文的信息。这里双向和单向的区别在于,单向只跟当前位置之前的tocke…

【小收获】数组在声明时整体赋值的细节

在C中,在全局区声明的数组会自动初始化 如果没有为全局区的整数类型的数组指定初始值,那么它的元素都会被自动初始化为0。该特性适用于所有整数类型的数组,包括char、short、int、long等。(注:char类型数组自动初始化为0&#xff…

CCF ChinaSoft 2023 论坛巡礼 | CCF-华为胡杨林基金-软件工程专项(海报)论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

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

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

机器学习第8天:线性SVM分类

文章目录 介绍 特征缩放 示例代码 硬间隔与软间隔分类 主要代码 代码解释 结语 介绍 作用:判别种类 原理:找出一个决策边界,判断数据所处区域来识别种类 简单介绍一下SVM分类的思想,我们看下面这张图,两种分类都…

第六十二周周报

学习目标: 一、实验 二、论文 学习时间: 2023.11.11-2023.11.17 学习产出: 实验 1、CB模块实验效果出来了,加上去效果不太行,后续实验考虑是否将CB模块换到其他地方 2、CiFAR100实验已完成,效果比Vi…

Unity 场景烘培 ——LensFlare镜头光晕(三)

提示:文章有错误的地方,还望诸位大神指出! 文章目录 前言一、镜头光晕 (Lens Flares)是什么?二、使用Lens Flares组件总结 前言 一般情况下都会忽略的东西,镜头光晕。理论上不加镜头光晕,也不会有什么影响…

Pandas 累计统计函数【cumsum、cumprod、cummax、cummin】【计算前1/2/3/…/n个数的和、积、最大值、最小值】

一、累计统计函数 函数作用cumsum计算前1/2/3/…/n个数的和cummax计算前1/2/3/…/n个数的最大值cummin计算前1/2/3/…/n个数的最小值cumprod计算前1/2/3/…/n个数的积 import numpy as np import pandas as pd# np.nan :空值 df pd.DataFrame({key1: np.arange(1…

LoRa知识点记录

CFO(Central Frequency Offset)::不同设备之间的硬件缺陷引起的,会造成bin 偏移。CFO 引起的 bin 偏移对于preamble和data symbol 都是相同的。 我们在FFT之前应用汉明窗口来抑制旁瓣的影响 lora的灵敏度依赖于峰值高度 没有零填充会导致峰值高度不稳定 …

什么是NoSQL?什么是redis?redis是做什么的?

redis官网 NoSQL泛指非关系型数据库,redis是其中的一种,Redis是发展最快的。 什么是NoSQL? NoSQL是一个广义的术语,指的是非关系型数据库,不同于传统的关系型数据库(如MySQL、Oracle等)。它没有…

反转链表(图解)

LCR 024. 反转链表 - 力扣(LeetCode) 题目描述 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 样例输入 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2&…

Spring 如何自己创建一个IOC 容器

IOC(Inversion of Control),意思是控制反转,不是什么技术,而是一种设计思想,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 在传统的程序设计中,我们直接在对象内部通过new进行对象创建…

基础课6——开放领域对话系统架构

开放领域对话系统是指针对非特定领域或行业的对话系统,它可以与用户进行自由的对话,不受特定领域或行业的知识和规则的限制。开放领域对话系统需要具备更广泛的语言理解和生成能力,以便与用户进行自然、流畅的对话。 与垂直领域对话系统相比…

ChatGPT + DALL·E 3

参考链接: https://chat.xutongbao.top/

excel怎么能锁住行 和/或 列的自增长,保证粘贴公式的时候不自增长或者只有部分自增长

例如在C4单元格中输入了公式: 现在如果把C4拷贝到C5,D3会自增长为D4: 现在如果想拷贝的时候不自增长,可以先把光标放到C4单元格,然后按F4键,行和列的前面加上了$符号,锁定了: …

竞赛 题目:基于大数据的用户画像分析系统 数据分析 开题

文章目录 1 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…