想用 Python 做自动化测试?先来认识一下 Python

Python如何做自动化测试? 众做周知,自动测试的优势是显而易见的,它可以大大节省我们的时间,提高我们的工作效率。那么Python如何做自动化测试呢?本文将用Python编写一个简单的测试用例,并指导大家写做自动化测试的代码。如果大家对这个内容感兴趣,就赶紧来一起学习吧!相信大家都遇到过这样的问题,你需要一遍一遍地在你的软件中输入命令,来测试软件的功能是否正常,这个过程是很枯燥无味的。如果能写一小段代码用来测试你的代码该有多好啊!因此我们就不得不需要用到自动化测试。 阅读详情

Python 是一门动态的、强类型的语言,是目前非常流行的语言。流行的主要原因是 Python 语言应用广泛,可以应用在 Web 开发、爬虫、数据分析、软件测试和机器学习等多个领域。另外,Python 语言简单易学,吸引了更多编程初学者的喜爱。Python 语言简洁的语法和丰富的第三方库,使得业务开发的效率非常高。在自动化测试领域,Python 可以说是一个多面手,可以进行服务端 API 接口测试、进行 WEB 自动化测试、APP 自动化测试、性能测试和测试平台开发等工作。因此要想转行自动化测试,做好自动化测试,掌握 Python 语言都是必要前提。

现在,跟着我对 Python 做一个初步的了解吧。文章后面的面试题,欢迎你在留言区写下答案,或者加入微信群与大家一起交流。

1.1 Python 语言的特性

1.1.1 Python 是强类型语言

强类型是针对弱类型而言的。对于强类型语言和弱类型语言并没有明确的定义,维基百科上这样说:

in general a strongly typed language is more likely to generate an error or refuse to compile a program if the argument passed to a function does not closely match the expected type. A very weakly typed language may produce unpredictable results or may perform implicit type conversion instead.

直观上来说,Python 强类型表现在不允许两种不同类型的变量相互操作。比如,在 python 交互式命令行中输入下面的代码:

>>> b="a"
>>> a=1
>>> a+b

按回车键后,则会收到 TypeError 异常,表示 int 变量和 str 变量 不能用 + 操作符。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

常见的强类型语言有:

  • Python
  • Java

与之对应的是弱类型语言,比如 JavaScript,它就允许不同类型变量进行运算,比如:

var b = 'a';
var a = 1;
console.log(a + b ); //输出1a

JavaScript 在 string 和 int 相加时,自动将 int 转化为 string。常见的弱类型语言有:

  • C
  • C++
  • PHP
  • Javascript

1.1.2 Python 是解释型语言

Python 编写的程序,在运行之前不需要进行编译,而是通过 Python 解释器对程序一边解释一边执行的。

1.1.3 Python 是动态语言

Python 因为没有编译阶段,所以对变量的数据类型是在程序执行期间决定的。也就是在编写代码的时候可以不指定变量的数据类型,在程序执行时根据赋给变量的对象类型来确定变量的数据类型。常见的动态语言包括:

  • Python
  • JavaScrpit
  • PHP

变量的类型在编译阶段就已经确定的,是静态类型语言。常见的静态类型语言包括:

  • C/C++
  • Java
  • Scala

1.2 书写格式

Python 的书写格式规范主要涉及缩进格式、行间空行数、变量和等号空格等。完整的 Python 编码规范可以参考 PEP8。如果使用 Pycharm 开发,遇到不符合规范的编码,Pycharm 会有提示。MacOS 上,Pycharm 通过快捷键 option+command+l 可以对代码进行格式化,Windows 上的快捷键是 Ctrl + Alt + L。

1.2.1 缩进

Python 最具特色的地方就是用缩进代替 Java、C++ 中的 {},缩进的层级结构表示代码的逻辑层次。Python 的缩进方法,一般为 4 个空格。下面这个例子来自 Python 著名的单元测试框架 Pytest。

# content of test_demo.py
class TestClass:
    """
    测试类,可以有多个测试函数
    """
    def test_one(self):
        """第一个测试函数"""
        x = "this"
        # 验证this中含有h字符
        assert "h" in x
    def test_two(self):
        x = "hello"
        assert hasattr(x, "check")
  • 代码行 class TestClass 与代码行 def test_one(self): 之间有 4 个空格的缩进;
  • 代码行 def test_one(self) 与 assert也有 4 个空格的缩进。

通过这种缩进层级结构,展现了代码的逻辑层次。

1.2.2 注释

注释可以起到一个说明和备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,清晰详细的注释让调用者对所调用函数的使用方法和逻辑更加清晰。强烈建议大家写代码的时候添加适当的注释。Python 解释器对注释内容会忽略,不执行。

上面例子,第一行 #开头的就是一个注释,说明这段代码是在 test_demo.py 这个文件中。“”“”“” 是一个多行注释,经常用于描述类、函数或方法的作用、参数类型和返回值等。

1.3 版本及安装

1.3.1 版本

Python 官网在 2020 年 4 月 20 日发布了 Python2 的最后一个版本 2.7.18。从此之后不再对 Python2 的全部版本进行支持。因此,建议大家从今天开始,学习和使用 Python3.7 及其以后的版本。

1.3.2 安装

通常的安装方法是,通过下载对应操作系统的安装包,通过安装包的方式安装 Python。下载地址:https://www.python.org/downloads/。

但是,我更推荐使用 pyenv 方式安装,pyenv 使得在同一个系统上安装多个不同版本的 Python 变得简单。

1.3.3 开发工具

强烈建议开发 Python 代码时使用 Pycharm 这个集成开发环境。它配置简单,完全为 Python 开发打造。会让我们写代码的效率更好,不容易出错。

Pycharm 有两个版本,一个收费版本,一个社区版本。使用社区版本就足够满足我们日常的开发工作了。下载地址:https://www.jetbrains.com/pycharm/download/,选择 Community 版本。

1.4 变量

Python 中的变量,就是代数中的变量概念一样。用来代表或者说指向一个具体的数值、字符串等对象。

1.4.1 变量命名

在 Python 程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。最好是具有实际意义的英文单词,这样可以通过变量名称了解它的实际意义。例如:age,my_age,_gender,edge_1 等。

注意变量名不能与 Python 自带的关键字(keyword)同名。可以在 Python 的交互式命令行输入下面两行代码,查看 Python 自带的关键字,如下所示:




>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.4.2 变量赋值

在 Python 中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。在 Python 交互式命令行输入:

>>> a=1  # a赋值为数值1
>>> a='s'  # a又被赋值为字符串s
>>> b=a  # 变量a赋值给变量b
>>> c=d=10  # c和d连续赋值为10
>>> a=a+'m'  # a变成sm
>>> b  # 依然是s

而且 Python 语言,在变量赋值之前,不需要声明变量,可以直接赋值。

当给变量 a 赋值为 s 时,即书写代码a = 's'时,Python 解释器干了两件事情:

  1. 在内存中创建一个's'的字符串;
  2. 在内存中创建一个名为a的变量,并让 a 指向's'

当把一个变量 a 赋值给另一个变量 b 时,即上面代码中b=a,这个操作实际是把变量 b 指向变量 a 所指向的数据,即变量 b 也指向了变量 a 指向的's'。

a=a+‘m’,并不是让 a 的值拼接一个 m,而是表示重新创建了一个新的 sm 的对象,并让 a 指向它。但是 b 仍然不变,仍然指向 s 这个对象。

上面图示中的对象和变量是一回事。在 Python 中一切皆是对象。

1.4.3 数据类型

变量指向的对象,都有固定的类型,比如:

  • 整数
  • 浮点数
  • 字符串
  • 布尔值

可以通过 type () 函数查看变量的类型:

>>> a=10
>>> type(10)
<class 'int'>
>>> b='st'
>>> type(b)
<class 'str'>
>>> c=True
>>> type(c)
<class 'bool'>
>>> d=10.0
>>> type(d)
<class 'float'>

数据的类型用来表示对象的取值范围以及可以对它进行什么操作。除了上面的数据类型,Python 中还有元组、列表、字典、集合等类型。

1.5 面试题

  1. 什么是强类型语言?什么是弱类型语言?Python 是强类型语言还是弱类型语言?
  2. Python 语言如何区分代码之间的层次结构?
  3. 什么是注释?怎么样给 Python 代码增加注释?
  4. Python 的变量命名规则是怎样的?
  5. Python 内部的内置关键字有哪些,如何查看?
  6. Python 的赋值语句怎么写?赋值时,Python 解释器干了什么事情?
  7. 为什么编程语言要有不同的数据类型?Python 语言如何查看一个对象的数据类型?

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

见识了解python自动化测试(3) 见识了解python自动化测试(3) 自动化框架及工具 1 概述 手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到的 测试自动化 也将围绕着 接口自动化 来介绍。 本系列选择的测试语言是 python 脚本语言。由于其官方文档已经对原理有了比较清楚的解释,本文就不做一些多余的翻译工作了。偏向于实战部分,而且为了偏向实战,也会结合 IDE 工具和项目组织来进行讲解。 理由如下: 脚本语言,开 阅读详情

相关推荐

使用Python进行自动化测试:从入门到实践

本文介绍了使用Python进行自动化测试的基本流程,包括环境准备、编写单元测试、自动化Web测试、参数化测试、生成测试报告以及CI/CD集成。通过这些步骤,你可以构建一个全面的自动化测试体系,提高软件的质量和开发效率。自动化测试是软件开发中不可或缺的一部分,掌握Python这门强大的工具,可以让你在测试领域游刃有余。运行上述脚本,Selenium将自动打开Chrome浏览器,进行Google搜索,并验证搜索结果的标题包含“Python”。自动化Web测试用于模拟用户在浏览器中的操作,验证Web应用的功能。

qq_36733270的博客 1425

从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

本自动化测试框架采用python + unittest 的基础来搭建,采用PO模式、数据驱动的思想,通过selenium来实现WEB UI自动化,通过request来实现接口自动化。移动终端的自动化也可在该框架基础上去构建补充。

sunjice的博客 14万+

python做手机端app自动化测试

用python做app的自动化测试,目前有两种方式可以完成:1.由于Appnium不是一个库,是一套软件,安装需要java环境等,还有配置,非常麻烦,所以这里不考虑2.uiautomator2比Appnium简单易上手,但是目前相关代码较少,本文将尝试用该库解决手机app的自动化问题。(uiautomator2只能操作安卓系统,ios系统不兼容,如果是苹果手机就没必要往后看了)

happy_working1的博客 4933

Python自动化测试

python自带的unittest,单元测试,保姆级别教程

因为热爱,所以坚持,记录工作中的乐趣 1万+

【Python自动化测试】——自动化测试基础

Python自动化测试——自动化测试基础

Python全栈系列 1751

如何使用Python进行自动化测试

使用Python进行自动化测试可以帮助我们快速、高效地测试应用程序,并确保其质量和可靠性。通过选择适合的测试框架、编写测试用例、运行和分析测试结果以及重构测试用例等步骤,我们可以实现自动化测试的全过程。在这个过程中,我们需要不断地迭代和改进我们的测试用例以适应项目的发展和需求的变化,从而保证我们的应用程序始终能够得到高质量的测试保障。

这家伙很懒,什么都没有留下 381

想用Python做自动化测试?这16个容易踩的坑请注意!

想做自动化测试肯定绕不开Python的学习,可是作为一门编程语言,它需要掌握的技能和注意点还是有很多的,今天抛开这些不谈,就说说大家常踩的一些坑吧,看看你中招没?希望这篇小短文助你“避”坑成功!

2201_75554489的博客 979

CarPlay wired(USB)连接方案

CarPlay的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为Apple设备在CarPlay中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的CarPlay wired(USB)连接方案中就需要进行USB的模式切换。模式切换完成后便是Apple设备(USB HOST)的枚

Ke8323的博客 1万+

怎么用python做自动化测试?

首先你得会python编程语言,需要花一两周时间学习一下python编程基础,python编程基础一般包含那些内容呢? Python的简介以及python的安装以及环境的搭建。 Python编码规范、数据类型的学习. Python常用控制语句和语法的学习. Python面向对象编程. Python函数应用 Python图形界面介绍GuiTkinter Python异常处理与输入输出 Pyhon编程项目实践 具备了一定的编程经验后,接下来借助自动化工具展开测试。 其次:学

公众号:【伤心的辣条】 3717

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 189

手把手教你用STM32F303和LAN9252搭建EtherCAT从站(附IO/AD/DA完整代码)

本文详细介绍了如何使用STM32F303和LAN9252搭建EtherCAT从站,涵盖硬件选型、开发环境配置、协议栈移植及IO/AD/DA功能实现。通过实战指南和完整代码,帮助开发者快速掌握工业自动化中的实时通信技术,提升系统性能与可靠性。

weixin_26802933的博客 235

Python自动化测试怎么学?看完这个!不做无头苍蝇

Python自动化测试开发完整学习路线,不再做无头苍蝇!跟着这个学,轻松上手自动化测试项目

qq_40214204的博客 5万+

在 MATLAB/Simulink 中构建一个固定地面站天线指向控制系统的完整仿真模型

在卫星通信系统中,地面站天线负责与在轨卫星建立高增益、高稳定性的通信链路。对于固定地面站(如卫星测控站、深空站、VSAT主站),天线必须具备高精度指向能力,以确保波束始终对准卫星。然而,卫星(尤其是低轨卫星)在天空中快速移动,地面站天线必须实时跟踪其轨迹。此外,环境扰动(风载、热变形、机械误差)也会导致指向偏差。因此,设计一个高精度、高鲁棒性的天线指向控制系统(Antenna Pointing Control System)至关重要。本文将手把手教你如何在中构建一个固定地面站天线指向控制系统。

amy_mhd的博客 133

一文带你用python做自动化测试

python 是目前测试推广最多的语言,翻翻各大招聘公司,测试要求会 python的比比皆是,而且易学易用。 Selenium 是 Thought Works 公司开创的一套基于 web 应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回流测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。 今天给大家带来的Python自动化测试,从零基础开始手把手有详细的步骤教你怎么写自动化测试。测试人员大多是希望利用编程语言来帮助他实现自动化的测试,而且需.

人生不怕起点低,就怕没追求 5124

基于ZYNQ的HP总线与DDR交互:实现PL与PS高效数据传输的完整指南

本文将深入探讨如何通过AXI HP总线实现PL与PS的DDR交互,结合代码示例、硬件配置与创新优化,助力开发者掌握这一关键技术。ZYNQ内部通过AXI HP接口直接连接PL与DDR控制器,PL通过AXI协议发送读写请求,绕过PS的CPU直接操作DDR。通过AXI HP总线实现PL与PS的DDR交互,开发者可充分发挥ZYNQ异构架构的优势。在Xilinx ZYNQ系列芯片中,PS(Processing System)与PL(Programmable Logic)的协同设计是其核心优势。

QQ_778132974的博客 1223

自动驾驶系统研发系列—全智能驾驶新高度:深入解析车道保持辅助(ELK)功能

车道保持辅助系统(ELK)是一种基于先进视觉感知技术的主动安全系统,能够通过车载摄像头实时监测道路上的车道线、道路边缘以及周围车辆的位置。这一功能的核心在于为驾驶员提供智能化的安全辅助,尤其是在驾驶员可能因疲劳、分心或其他原因无意识地偏离车道时,系统能够主动干预,从而避免危险发生。ELK系统不仅仅依靠摄像头对道路进行感知,还结合其他传感器的数据(如雷达),实时评估自车与车道线、周边车辆的相对位置。当系统检测到车辆即将偏离车道,或越过道路边缘时,ELK会通过控制电子助力转向系统(EPS)

u013889591的专栏 1210

如何用 Python 做自动化测试

本文来自作者 Vant 在 GitChat 上分享 「如何用 Python 做自动化测试」编辑 | 哈比一、Selenium 环境部署1. window 环境部署1.1 当前环境Win10 64 位系统;Python3.6.2(官方已经更新到了 3.6.4)官方下载地址:https://www.python.org/downloadsSelenium 3.4.3;谷歌 59。1.2 Python3

技术杂谈 12万+

【Java基础知识 1】Java入门级概述

优快云最强Java专栏,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例,理论结合实战,实现Java的轻松学习。

学Java,找哪吒 16万+

Python 和Java 哪个更适合做自动化测试?

大家好。 从事软件测试很多年了,从各个大厂一路摸爬滚打,现在我有幸供职于字节跳动 。个人也是从功能测试慢慢爬到了自动化测试这条路上。所以针对这个问题,我还有点发言权。 记得我一开始从功能准备转型到自动化测试,和很多“涉事未深”的同学一样,也面临首选语言的选择性障碍。在询问行业大佬到底是选Python还是Java时,基本能得到的答案无外乎:“你想干啥”,“你会啥”,“你想怎么做” 。 后来自以为想清楚了这三个问题,大佬们却像范大将军似的一顿训:“哎,谢天谢地,实用主义点,我劝你们,先弄明白自己...

测试界的彭于晏的博客 6504

别再只当调包侠了!YOLO检测头到损失函数全链路拆解,看完才算真懂

YOLO的精妙不在于某个单一创新,而在于各模块围绕“实时精准检测”这一目标的协同设计。Backbone追求高效特征压缩,Neck保障多尺度信息流通,Head解耦任务冲突,Loss动态引导优化方向。只有理解这套内在逻辑,才能跳出“调包-试错”的低效循环,在面对新场景、新问题时做出有理有据的改进决策。技术深度决定职业天花板。下次再调YOLO时,不妨先问自己:我改的这个参数,到底影响了系统中的哪一环?参考资料。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 184

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python 和 Java 哪个更适合做自动化测试?

在当今软件开发的世界中,自动化测试已经成为确保产品质量不可或缺的一部分。然而,面对市场上众多的编程语言,开发者们常常面临一个棘手的问题:Python 和 Java 哪个更适合做自动化测试?这个问题不仅涉及到技术选型,更关系到团队效率、项目成本以及未来的可扩展性。今天,我们就来深入探讨这个话题,帮助你做出明智的选择。

cda2024的博客 995

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

什么是自动化测试?为什么要做自动化测试?如何学习自动化测试?

​ 自动化测试是指使用软件工具和脚本来执行测试任务的过程。它可以自动化执行测试用例、生成测试报告和进行结果分析。自动化测试可以减少人工测试的工作量,并提高测试的效率和准确性。它在软件开发过程中起到了重要的作用,可以帮助开发团队快速发现和修复软件中的缺陷,确保软件质量和稳定性。 ​

jiegeniuboyi的博客 1753

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: 按照学习 Python 的路径,从入门到高级的必备书
下一篇: 程序员通过 ChatGPT 赚钱的 8 种方法
Llama-Turbo
博客等级 码龄4年 9901粉丝 2021原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值