2016 - 2024

感恩一路有你

python接口开发 Python如何实现对系统的API接口功能实现自动化测试?

浏览量:1149 时间:2021-03-11 11:25:43 作者:admin

Python如何实现对系统的API接口功能实现自动化测试?

根据题主的描述,题主主要想解决的问题是:如何基于复杂场景(多接口耦合)开展接口自动化测试。

最佳实践:Python Robot Framework。

上面的最佳实践也是走了很多坑,蹚出来的。曾尝试过很多方式,甚至还开发过基于关键字驱动的自动化测试框架。先说说基于场景的自动化有哪些难点,为什么最终选择Python Robot Framework。

痛点:

  1. 接口与接口的耦合,使得A接口的输入依赖a接口的输入,环环相套。(Mock的方式此处不讨论)。
  2. 复杂场景的自动化用例冗长、调试、维护成本高。维护成本高的自动化持续性很差,大多半途而废。
  3. 自动化用例开发对编码有一定的要求,不适应不具备编码能力的人进行自动化用例开发、维护。

解决思路

借鉴关键字驱动测试思想,把接口请求发送、响应校验、响应内容返回,三部分封装成"请求校验"关键字。

同时再封装"内容提取"关键字——提取接口响应体特定数据。这样就可以获取上一个接口返回中的特定数据作为下一个接口的输入参数。

如此。任何场景都可以通过"请求校验"关键字 "内容提取"关键字 "请求校验"关键字 …

如何落地

这里就需要考虑选择哪些方法和工具的问题了,首先关键字方法的实现通过Python基于测试库架构框架的思想开发相关关键字方法。Robot Framework工具核心思想就是关键字驱动,使用其Ride进行关键字库、资源导入、用例编写。这里建议在将关键字方法作为库导入后,用自然语言对每个关键字做一次映射,这样便于业务测试人员使用。

Robot Framework 同样支持数据驱动,可以了解一下。

近几年热火的Python语言,你认为Python可以干什么?

1、web应用开发

网站后端程序员:使用它单间网站,后台服务比较容易维护。

类似平台如:Gmail、Youtube、知乎、豆瓣

2、网络爬虫

爬虫是属于运营的比较多的一个场景吧, 爬虫获取或处理大量信息:批量下载美剧、运行投资策略、爬合适房源、从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影书籍信息并生成表格等。

3、AI 人工智能 与机器学习

现在的人工智能非常的火爆,各种培训班都在疯狂打广告招生.机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。

4、数据分析

一般我们用爬虫爬到了大量的数据之后,我们需要处理数据用来分析,不然爬虫白爬了,我们最终的目的就是分析数据,Python在这方面关于数据分析的库也是非常的丰富的,各种图形分析图等 都可以做出来。也是非常的方便。“大数据”分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟的模块可以选择完成其功能。

5、自动化运维:自动化处理大量的运维任务

6、游戏开发者:一般是作为游戏脚本内嵌在游戏中

7、自动化测试:编写为简单的实现脚本,运用在Selenium/lr中,实现自动化。

8、网站开发:借助django,flask框架自己搭建网站。

既然Python是用C实现的,那为什么Python不能直接生成exe呢?

C语言其实是一种比较“古老”而且“底层”的语言。其执行效率,仅次于汇编语言。

说其古老,是因为C语言的出现很早。

虽然Fortran、Cobol语言出现比C语言更早,但是现代主流操作系统(Windows、Mac Os、linux、iOS、Android、Unix)全部脱胎于C语言。

说它底层,是因为C语言设计之初就是为了同时编写汇编语言。理论上可以全部用汇编写。而汇编语言是执行效率最高的语言。

所以Python用C语言写一点也不奇怪。这和它能不能生成Exe一点关系都没有。

Exe文件是Windows平台的私有格式。最简单的Exe是Com可执行文件。Exe文件实际上是一个引导程序 一个解释程序组成的。

Python语言生成的代码,只需要配以引导程序和解释程序,就可以作为Exe文件执行。

所以,Python生成Exe文件一点难度都没有。只是它愿不愿意提供的问题。

为什么Python效率这么低,还这么火?

在很多时候,性能不是瓶颈。大约80%的应用,对性能要求不高。

python接口开发 python教程 python爬虫

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。