[接口测试 - 基础篇] 02 你应该掌握的Python3接口测试内功

概述

本文主要介绍基于Python3进行接口测试时,应该掌握Python3哪些基本的能力,主要从以下几个方面进行说明。

  • Python3基本语法
  • Python3http库urllib/requests/locus
  • Python3各类格式解析
  • unittest测试框架
  • 其他一些能力,例如算法、数据结构等等

这里大致说明一下,后续各专题专门就每一类能力进行分享。

Python3基本语法

对于Python3的入门学习和掌握,请参见我前期所发布的《快学Python3》系列,有30多章以实例练习入门学习Python3的教程。

掌握一门编程语言,总体而言有以下几个方面要掌握:

  1. 掌握各种定义:变量、函数、类等定义
  2. 掌握判断、循环语法及结构
  3. 掌握函数,例如默认参数、变参及多返回值
  4. 掌握类,要理解继承、类的封装等等
  5. 掌握常用的标准库,例如字符串处理,各种文件读写等等
  6. 掌握基本的算法和数据结构,例如查找、排序等等

上述六个方面应该是基础入门必须掌握的,至于其他的能力,根据实际需要进行深入掌握即可。

HTTP库

为什么在本系列要掌握urllib、requests、locus三个库,主要是基于以下几个方面的考虑:

  1. 通过实例化的方式学习掌握urllib,能够让大家更深入的理解python3 http库的基础实现库的使用,为后续使用更高级封装的库打下扎实的基础。
  2. 通过学习和使用第三方库requests,掌握更高级易用的HTTP API,为后续更好的成体系的深入接口测试掌握一个易用的API库。
  3. 使用locus更利于把基于requests的接口测试代码轻易的转为性能测试,因为locus是基于requests实现的,从而实现深入理解接口测试和性能测试的之间的关系

文件格式解析

在接口测试过程中,或是其他类型的自动化测试中,必不可少的是测试数据的准备,我们也许会将数据存储在excel、csv、xml等等各种文件中,所以我们需要掌握各类文件的解析库。

  1. csv格式
  2. excel: openpyxl
  3. xml:ElementTree
  4. json
  5. html: HTMLParser

上述五种文件/格式可能是最常用的,所以需要对其解析库要深入掌握,以便后续在用到时能够快速应用。

unittest

Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计的 JUnit 的Python版本。 而JUnit又是Kent设计的Smalltalk测试框架的Java版本。它们都是各自语言的标准测试框架。

对于该测试框架,在公众号前期的python selenium系列里有关于该框架的系列文章,大家可以直接在公众号里查看【通过下方菜单进入: 内容锦集 - selenium - 单元测试】

这里就不对其进行详细讲解了。

小结

当然了,只掌握上述的技术还是远远不够的,我们还需要掌握其他的各种能力,以便深入实践。

首先,思路肯定是最重要的,在笔者的实践过程中,大多的新人并不是死在技术的路上,而是死在思路上,还没想想清楚就死劲的把自己折腾,往往把自己弄死在入门的槛上。

其次,技术的熟练度,这个没有其他的方法,只能是熟能生巧,多练就多了,持续的多练,练不同的实例,看不同的书,跟不同的人交流,做持续的分享

然后,对业务的熟悉,要深刻的理解用户业务、系统业务和技术业务,把业务进行梳理和测试专业知识进行结合,通过技术手段实现测试过程效率的提高

最后,不作不死,只有持续的折腾才能有成果。

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2017-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏狮乐园

【译】Understanding SOLID Principles - Single Responsibility

之前的第一篇文章阐述了依赖倒置原则(DIP)能够使我们编写的代码变得低耦合,同时具有很好的可测试性,接下来我们来简单了解下单一职责原则的基本概念:

8610
来自专栏java思维导图

程序员,请优先提高代码的可读性

现在,当有人提及“优化”一词时,他们通常是指“优化执行时间”,除非他们明确表明要优化GPU的内存消耗,网络流量等等。

11540
来自专栏Crossin的编程教室

【每周一坑】用代码给图片配上文字

我们的『每日一坑』栏目里都是一些练手的小题目,难度不高,适合新手用来熟悉编程。如果想要更复杂的大项目,可以上我们的实验室栏目 lab.crossincode.c...

34560
来自专栏程序人生

软件随想录:代码与数据

在程序的世界里,代码和数据犹如一对孪生兄弟,你中有我,我中有你,有时候不大分得清楚。如果你研究过 linux 的 ELF(Executable and Link...

367110
来自专栏腾讯开源的专栏

【开源公告】unreal4引擎lua开发首选解决方案sluaunreal正式开源

32420
来自专栏企鹅号快讯

Python开发 的优势在哪里

1.开源 Python都是开源的语言,简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python主要是英...

29450
来自专栏Java社区

粉丝福利 |超1000套项目源码及其他编程资源分享

31430
来自专栏编程派的专栏

提升 Python 编程效率的十点建议

程序员的时间很宝贵,Python这门语言虽然足够简单、优雅,但并不是说你使用Python编程,效率就一定会高。要想节省时间、提高效率,还是需要注意很多地方的。 ...

1.1K00
来自专栏AlgorithmDog的专栏

Akka 使用系列之二: 测试

通过上一篇文章,我们已经大致了解怎么使用 Akka,期待细致用法。这篇文章将介绍如何用 Akka-testkit 对 Akka 程序进行测试。 ? ...

22270
来自专栏企鹅号快讯

PHP的学习路线

1、PHP的学习路线 任何网站全都是由网页组成的,也就是说想完成一个网站,必须先学会做网页,掌握静态网页的制作技术是学习开发网站的先决条件。 因此我们要学习HT...

781100

扫码关注云+社区

领取腾讯云代金券