使用第三方python库技术实现python自动化测试

本文介绍了如何使用Python的requests库进行HTTP请求和json库进行数据解析,以实现接口自动化测试。重点讲解了json的基本操作和requests库的使用方法,包括GET、POST请求示例,并给出了一段针对用户登录接口的测试脚本。
摘要由CSDN通过智能技术生成

关于测试的方法论,都是建立在之前的文章里面提到的观点:

  • 功能测试不建议做自动化
  • 接口测试性价比最高
  • 接口测试可以做自动化
  • 做好接口自动化,一定要有透过界面看到数据本质的能力

后面所谈到的 测试自动化 也将围绕着 接口自动化 来介绍。
2   可测试架构目前互联网行业流行的“一服务,多客户端”的架构是一种 可测试性好 的架构,架构图如下:

  • 服务器和客户端采用Http(或者WebSocket)的方式进行通讯
  • 数据交换的格式一般是Json(或者XML)
  • 因为下游设备众多,所以服务端接口有很强的稳定性要求

3   自动化技术实现基于如上特点,此系统的接口自动化测试简化表述,就是需要做如下事情:

  • 使用脚本对接口进行Http请求
  • 对返回值解析
  • 按照设计文档进行判定
  • 以项目的方式组织测试脚本形成自动化测试项目

当然,以上纯粹是从技术的角度来阐述问题,如果要和具体的项目结合起来 ,还需要设计不同的步骤和数据来满足不同的业务逻辑需求。
对于如上4个目的,有如下几个框架或者工具可以实现:

  • requests
    一个Http请求库,号称是让Http的请求对人更友好,此框架也确实达到此目的了。
  • json
    python提供的对json和python数据类型的转化库
  • pyunit
    pyunit自动化框架提供了大量的assert断言方法来自动化进行数据逻辑判定
  • pycharm
    作为一个强大的IDE,其在项目组织方面的表现也同样是极其出色的

关于 pyunit 和 pycharm 在本系列文章的上一节里面已经进行了介绍,此处不再重复介绍,本文的重点则是python的两个和http通讯及数据解析相关的库:requests库 和 json库 。

4   json4.1   基本介绍中文官方主页:

1 http://www.json.org/json-zh.html
 




关于JSON的使用介绍,目前已经不言而喻。虽然在好多年前,曾经有XML和JSON在 数据编解码 领域平分秋色的说法,但是这么多年过去后,JSON的势头越来越好,而XML的声音则越来越小。
关于JSON的定义,引用官网的原文 [1]

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

目前JSON显然已经成为了互联网上字符型数据交换的标准编解码的中坚力量,作为互联网的开发人员,是很有必要了解它,运用它的。
JSON作为一种字符串的编码和解码规划,是和语言无关的,JSON官网 [1] 上有各种语言的。各种语言(Java/Php/C#/C/C++/Python/R/Ruby等等)都有自己的实现方式,这些也都可以参考

4.2   python库本文的主打语言是Python语言,所展开的内容也是和Python语言相关,在JSON官网 [1] 上提供了如下几种Python语言的JSON库:

  • The Python Standard Library.
  • simplejson.
  • pyson.
  • Yajl-Py.
  • ultrajson.
  • metamagic.json.

一般情况下,都使用第一个: The Python Standard Library(Python标准库)
官方文档地址:

1 https://docs.python.org/2/library/json.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值