Python接口自动化测试(接口状态)

 本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python

版本直接安装就以了,建议 下载python2.7.11版本,当然,也是可以下载python最新版本的。

       接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,该解释来自百度百科。

       当然,为了更好的进行接口测试,需要了解经常使用的http状态消息,比如请求成功是200 OK,但是http状态消息除了这个之

外还有很多的,http的状态消息,简单的来理解就是当浏览器从web服务器发送请求时,可能会请求成功,可能请求失败返回其他的错

误信息,从而返回各种情况的htttp状态消息。比如百度首页输入搜索关键词,可能会返回成功的后的搜索信息,但是也有可能搜索失败

的情况,当然这种情况一般很少出现,毕竟百度不会出现这么低级的错误。下面分别列出经常常见的http状态消息,这些信息来自w3c

网站,见如下的http状态消息:

    1xx: 信息

消息:描述:
100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。

    2xx: 成功

消息:描述:
200 OK请求成功(其后是对GET和POST请求的应答文档。)
201 Created请求被创建完成,同时新的资源被创建。
202 Accepted供处理的请求已被接受,但是处理未完成。
203 Non-authoritative Information文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。
204 No Content没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
205 Reset Content没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。
206 Partial Content客户发送了一个带有Range头的GET请求,服务器完成了它。

    3xx: 重定向

消息:描述:
300 Multiple Choices多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。
301 Moved Permanently所请求的页面已经转移至新的url。
302 Found所请求的页面已经临时转移至新的url。
303 See Other所请求的页面可在别的url下被找到。
304 Not Modified未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
305 Use Proxy客户请求的文档应该通过Location头所指明的代理服务器提取。
306 Unused此代码被用于前一版本。目前已不再使用,但是代码依然被保留。
307 Temporary Redirect被请求的页面已经临时移至新的url。

    4xx: 客户端错误

消息:描述:
400 Bad Request服务器未能理解请求。
401 Unauthorized被请求的页面需要用户名和密码。
402 Payment Required此代码尚无法使用。
403 Forbidden对被请求页面的访问被禁止。
404 Not Found服务器无法找到被请求的页面。
405 Method Not Allowed请求中指定的方法不被允许。
406 Not Acceptable服务器生成的响应无法被客户端所接受。
407 Proxy Authentication Required用户必须首先使用代理服务器进行验证,这样请求才会被处理。
408 Request Timeout请求超出了服务器的等待时间。
409 Conflict由于冲突,请求无法被完成。
410 Gone被请求的页面不可用。
411 Length Required"Content-Length" 未被定义。如果无此内容,服务器不会接受请求。
412 Precondition Failed请求中的前提条件被服务器评估为失败。
413 Request Entity Too Large由于所请求的实体的太大,服务器不会接受请求。
414 Request-url Too Long由于url太长,服务器不会接受请求。当post请求被转换为带有很长的查询信息的get请求时,就会发生这种情况。
415 Unsupported Media Type由于媒介类型不被支持,服务器不会接受请求。
416 服务器不能满足客户在请求中指定的Range头。
417 Expectation Failed

    5xx: 服务器错误

消息:描述:
500 Internal Server Error请求未完成。服务器遇到不可预知的情况。
501 Not Implemented请求未完成。服务器不支持所请求的功能。
502 Bad Gateway请求未完成。服务器从上游服务器收到一个无效的响应。
503 Service Unavailable请求未完成。服务器临时过载或当机。
504 Gateway Timeout网关超时。
505 HTTP Version Not Supported服务器不支持请求中指明的HTTP协议版本。

     对于接口测试来说,一般分为二种情况,分别是基于http协议和基于web services协议,但是最常用的是基于http协议的

接口测试,其中最常用的http方法是get和post,当然还有put,delete请求,接口测试的过程就是client(浏览器)向server(服务

器端)request一个请求,server得到请求后,response返回给client响应数据。下面分别说明接口测试中几种常使用的请求方法:

   GET:从指定的资源获取数据

如在百度阅读搜索“selenium-python自动化测试“,就会返回本人写的《selenium-python自动化测试》电子书,请求地址

为:http://yuedu.baidu.com/search?word=selenium-python%E8%87%AA%E5%8A%A8%E5%8C%96%E6%

B5%8B%E8%AF%95,方式为GET,见请求后返回的结果:

   POST:向指定的资源要被处理的数据

对于post请求,以百度登录为案例,来说明这一过程,请求地址为:http://www.cyw.com/api/login/authorized.html,

请求方式为POST,见如下的截图:

   PUT:上传指定的URL,一般是修改,可以理解为数据库中的update。

   DELETE:删除指定资源。

   在接口测试中,一般来说,post创建数据,get获取创建成功后的所有数据和指定的数据,put可以对创建成功后的数据

进行修改,delete是指定的资源。

   当然,接口自动化相比UI自动化来说,比较复杂,需要掌握的知识比较多,本人也是在学习中,感觉接口自动化测试,

首先需要了解http状态消息,http协议,http方法,当然还得了解python语言,毕竟接口自动化测试是以代码的方式进行,

并非工具的方式。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

文档获取方式:

加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660517.shtml

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

相关文章

纯干货,3步轻松生成智慧乡村3D场景!

临近春节返乡,网上有个话题又重新上了热门,“以你的专业,回到家乡能做什么贡献?”虽然很多人调侃,对家乡最大的贡献就是“离开家乡”,但其实现在农村老家的发展也离不开打工人在远方的支持。 比如AMRT3D引…

Docker基础(持续更新中)

# 第1步,去DockerHub查看nginx镜像仓库及相关信息# 第2步,拉取Nginx镜像 docker pull nginx# 第3步,查看镜像 docker images # 结果如下: REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 60…

【数学】【记忆化搜索 】【动态规划】964. 表示数字的最少运算符

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 数学 记忆化搜索 LeetCoce964表示数字的最少运算符 给定一个正整数 x,我们将会写出一个形如 x (op1) x (op2) x (op3) x … 的表达式,其中每…

接口性能优化常见12式

目录 1.批处理 2.异步处理 3.空间换时间 4.预处理 5.池化思想 6.串行改并行 7.索引 8.避免大事务 9.优化程序结构 10.深分页问题 11.SQL优化 12.锁粒度避免过粗 1.批处理 批量思想:批量操作数据库,这个很好理解,我们在循环插入场…

微服务—Docker

目录 初识Docker Docker与虚拟机的区别 镜像与容器 Docker架构 常见Docker命令 镜像命令 容器命令 数据卷挂载 直接挂载 初识Docker 在项目部署的过程中,如果出现大型项目组件较多,运行环境也较为复杂的情况,部署时会碰到一些问题&…

Android AudioManager

Android AudioManager API AudioManager(audio翻译过来就是声音、音频): AudioManager,音频管理类,它主要提供了丰富的API让开发者对应用的音量和铃声模式进行控制以及访问。主要内容涉及到音频流、声音、蓝牙、扩音…

算法练习-逆波兰表达式求值(思路+流程图+代码)

难度参考 难度:中等 分类:栈与队列 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。且所在课程未提供测试平台,故实现代码主要为自行测试的那种,以下内容均为个人笔记&#xff0c…

selenium元素定位总结 - xpath定位高级用法

文章目录 1.8种元素定位方法2.xpath定位的高级用法1. 绝对路径2.相对路径3. 索引定位4.使用XPATH的属性值定位元素5.使用XPATH的属性名称定位元素6.使用任意值来匹配属性及元素7.使用模糊的属性值匹配starts-with()ends-with()contains()text()last() 8.过虑某个元素name() 9.常…

【2023遥感应用组一等奖】“变”捷施肥-基于遥感的精准施肥检测决策实施一体化系统

作品介绍 1 应用背景 冬小麦是我国主要的粮食作物之一,粮食安全有利于社会稳定发展。氮是作物生长的重要元素之一,影响作物籽粒形成与品质优劣,是作物产量最重要的限制因素。氮肥对粮食增产的贡献率达到30%~50%,是保证作物高产、稳产的关键。实现作物氮素营养的精准监测…

Plant, Cell Environment:DNA pull down技术助力揭示AP2/ERF类转录因子提高芍药耐高温能力的分子机制

芍药是一种传统的中药材,并且具有极高的欣赏价值,其生长发育经常受到高温胁迫的影响。褪黑素是一种内源性微分子吲哚胺化合物,在各种生物体中具有多种生理功能,大量研究表明调节与褪黑素生物合成相关的基因来提高植物对高温的耐受…

CMake官方教程中文翻译 Step 11: Adding Export Configuration

鉴于自己破烂的英语,所以把cmake的官方文档用 谷歌翻译 翻译下来方便查看。 英语好的同学建议直接去看cmake官方文档(英文)学习:地址 点这里 或复制:https://cmake.org/cmake/help/latest/guide/tutorial/index.html …

《区块链简易速速上手小册》第8章:区块链的技术挑战(2024 最新版)

文章目录 8.1 可扩展性问题8.1.1 基础知识8.1.2 主要案例:比特币的可扩展性挑战8.1.3 拓展案例 1:以太坊的可扩展性改进8.1.4 拓展案例 2:侧链和分层解决方案 8.2 安全性与隐私8.2.1 基础知识8.2.2 主要案例:比特币交易的安全性8.…

linux查询文件夹及文件数目

1.查询文件夹下的文件夹数目 expr $(find ./uploud_from_machine/formal_dom/18 -maxdepth 1 -type d | wc -l) - 1 2.查询文件夹下的文件数目 要统计目录中的所有项(文件和子目录),但不包括目录本身,可以使用以下命令&#xf…

DVI接口如何连接HDMI接口显示器?DVI转HDMI转换器DHA

DVI转HDMI转换器DHA简介 DVI转HDMI转换器DHA能够将DVI信号和R/L音频信号输入转换成HDMI信号输出,独特的功能使其顺畅地整合到家庭影院中,并且播放出高品质的图像。主要用于数据监控中心、大型会议展示中心、学校及各个公司 DVI转HDMI转换器DHA特点 01.支持分辨率4K…

网络协议 TCP协议

网络协议 TCP协议 文章目录 网络协议 TCP协议1. TCP协议段格式2. 可靠传输保障机制2.1 确认应答2.2 超时重传 3. 连接保障机制3.1 三次握手(建立连接)3.2 四次挥手(断开连接)3.3 TCP状态转换过程 4. 传输效率保障机制4.1 滑动窗口…

MySQL原理(二)存储引擎(1)概述

一、存储引擎介绍 1、概念: (1)MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎…

中国社科院与英国斯特灵大学——认证与不认证都颁发什么证书

随着在职研究生改革的不断深入,越来越多的在职人士报考在职研究生,在职博士,提升自己的学历和能力。中外合作办学博士是在职博士报考方式之一,是由国内的院校和国外院校合作开办的在职博士教育形式,分可认证和不可认证…

【全csdn最前沿LVGL9】按钮的使用(lv_button)、标签的使用(lv_label)

文章目录 前言一、按钮概述二、按钮的使用2.1 创建一个按钮2.2 按钮的样式 三、标签概述四、标签的使用4.1 创建一个标签4.2 样式4.3 设置文本4.4 长文本模式4.5 文本选择4.6 文本对齐4.7 非常长的文本4.8 字体设置字体支持的Unicode字符字体列表特殊的字体 总结 前言 欢迎来到…

Unity使用反向遮罩实现镂空shader

实现步骤: 1,创建两个材质球,遮罩层的属性如下: 被遮罩层的属性如下: 2,使用两张image,遮罩层在父节点,被遮罩层在子节点,然后分别添加材质球与镂空图片 实现效果如下&a…

k8s存储之PV、PVC

在k8s集群中,资源存储会散落到各个工作节点上,这样对用资源调用很不方便,那么k8s是如何实现存储资源共享的呢,本文浅尝辄止的探讨一下,k8s是通过pv、pvc实现的。 一、PV、PVC的概念 1、持久卷(PV) pv是Pe…