接口自动化知识1(requests库)
文章平均质量分 71
接口自动化知识
白狼_QAQ
这个作者很懒,什么都没留下…
展开
-
接口自动化测试(python+pytest+requests)
Requests库是python中的“浏览器”,基于urllib的HTTP库安装/验证requests:命令行终端分别输入 pip install requests / pip show requests操作步骤:导包、发送接口请求、查看响应结果Requests发送请求requests.请求方法(url, params=None, data=None, json=None, headers=None, files=None)常见的请求方法:get/post/put/delete。原创 2024-04-10 23:03:46 · 1085 阅读 · 0 评论 -
httprunner4详解
httpruuner官方文档:https://httprunner.com/docs/introduction/overview/案例1:使用电商开源项目演示:项目地址:https://github.com/macrozheng/mall案例2:使用erp2项目演示:开源项目:http://erp2.hzb-it.com/HttpRunner v4.0 同时采用了 Golang/Python 两种编程语言,底层会有两套相对独立的执行引擎,兼具 Golang 的高性能和 pytest 的丰富生态。原创 2024-03-19 15:34:28 · 862 阅读 · 0 评论 -
python接口自动化-15.镜像构建的好处
在接口自动化完工后,测试需要思考的一个问题是能够让自动化项目挂载到公司的CICD流程中去,本文选用的是最通用的docker镜像方式,构建走jenkins。原创 2023-12-10 10:59:47 · 868 阅读 · 0 评论 -
接⼝⾃动化的覆盖率
在软件开发过程中,测试是非常关键的环节。为了保证软件的质量和可靠性,测试覆盖率成为了一个重要的指标。测试覆盖率是指在一定的测试环境下,已经对软件代码进行了多大程度的覆盖测试。测试覆盖率是衡量测试工作的效果的重要依据。测试覆盖率高的测试工作意味着测试完成的覆盖面广,错误率低,软件质量高。因此,在软件开发过程中,测试覆盖率是非常重要的指标。原创 2023-11-13 19:44:24 · 75 阅读 · 0 评论 -
●●接口自动化框架设计思路
接口自动化测试框架的设计思路是一个复杂而又关键的过程。在设计框架时,我们需要明确框架的目标和范围,并搭建相应的测试环境。然后,我们可以设计测试用例、实现框架功能、编写测试脚本、执行测试用例,最后分析测试结果和生成报告。定期维护和优化框架是一个不可或缺的环节。通过合理的设计和实现,一个强大而灵活的接口自动化测试框架将为我们的测试工作提供有力的支持。原创 2023-11-14 16:56:44 · 160 阅读 · 0 评论 -
python接口自动化-16.Docker+jenkins+Pipeline+Allure运行 python 自动化
一、实现思路1、安装 docker:注意:在服务器上正确安装 docker2、创建 jenkins 容器3、jenkins 中创建 pipeline 项目4、根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)5、运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目6、执行完成之后删除容器二、环境准备1、安装docker2、docker安装jenkins安装成功后,你会在docker客户端看到这个容器,并且是启动状态。原创 2023-03-24 20:05:13 · 427 阅读 · 0 评论 -
python接口自动化-14.Python+Requests+Pytest+YAML+Allure实现接口自动化(实战)
本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理HTTP协议的请求接口,使用 Pytest 作为测试执行器,使用 YAML 来管理测试数据,使用 Allure 来生成测试报告一、项目说明本项目在实现过程中,把整个项目拆分成请求方法封装、HTTP接口封装、关键字封装、测试用例等模块。原创 2023-03-24 19:21:59 · 333 阅读 · 0 评论 -
python接口自动化-13.接口测试的异步与幂等
例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的.更复杂的操作幂等保证是利用唯一交易号(流水号)实现。比如批量下单,批量转账,一个批次一千笔,甚至一万笔的,你则可以把接口设计为异步。在我们学习的传统单线程编程中,程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系。以前测试过消息中心系统,接受的消息最终要等于生产的消息,之间有时间差,消息接受完,原创 2023-03-24 16:50:04 · 376 阅读 · 0 评论 -
python接口自动化 -12. 生成测试数据(Faker库)
如果要是手动制造数据的话,肯定要花不少时间,使用Python的Faker库,用它来生成各种各样的伪数据。在测试过程中,经常要造数据,比如随机字符串,身份证号码,手机号码等。原创 2023-03-24 16:47:14 · 127 阅读 · 0 评论 -
python接口自动化 -11. mock 数据处理
在现在的软件开发过程中,特别是app的部分,需要的很多数据以及内容,都是来自server端的API,但是不能保证在客户端开发的时候,单元测试,函数A的参数需要函数B的返回,但是函数B原先已经测试过了,就不要重新再测试了,这时就可以用mock模块来模拟函数B的返回。依赖第三方接口的测试,比如说获取身份信息,支付等第三方接口,做自动化测试或者性能测试的时候就可以利用mock来模拟第三方接口的返回。前后端联调,前端开发写页面比较快,这时就可以通过mock来模拟后端接口的情况,就不需要等后端把接口写好再来联调了。原创 2023-03-24 16:48:45 · 330 阅读 · 0 评论 -
python接口自动化 -10. 接口签名处理(加密接口)
通过抓包把请求的请求头和请求参数抓下来,通过postman或者jmeter测试(每次抓包,参数都是固定,但是签名随着请求参数变化而变化,每请求一次就就要抓包一次,也难搞。也就是说,没有处理好签名,就不能进行下一步。询问开发具体的加密过程,复写一套加密算法,自己生成加密数据(过程有可能比较复杂,但是如果你跟开发关系好就不复杂,或者你直接看开发代码,加密,解密算法自己整一套);服务端与客户端进行http通讯时,为了防止被爬虫,数据安全性等,传参数的时候,不会明文的传输,先对接口加密,返回的数据也加密返回。原创 2023-03-23 11:51:47 · 1139 阅读 · 0 评论 -
python接口自动化-9. token 的处理
1、登录后返回 token,把 token 写入 yaml 文件中,yaml 文件放在公共模块 commen 中。2、需要 token 的时候(一般是调用写用例的时候),在初始化中读取 yaml 文件中最新的 token 值。3、每个用例的 package 执行的时候去调用获取 token。编写用例的时候先获取 yaml 文件中 token 的值。4、最后执行所有用例,生成报告,发送邮件等。3、执行用例初始化的时候先获取 token。2、token 写入 yaml 文件。1、登录返回token。原创 2023-03-23 11:45:18 · 1887 阅读 · 0 评论 -
python接口自动化 8. 操作 MySQL
修改状态,比如执行禁用动作的时候,state = 6,启用的时候state = 2,测试不同状态的时候,需要还原数据。代表一个与MySQL数据库交互对象,使用Connection.Cursor()在当前socket连接上的交互对象。代表一个与MySQL Server的socket连接,使用connect方法来创建一个连接实例。流程性的操作,比如登录 - 新建学校 - 禁用学校,那么可以插入一个学校,然后再进行禁用操作。主要讲解如何使用pymysql库进行MySQL的管理操作,接口测试什么情况下操作数据库?原创 2023-03-23 11:27:43 · 47 阅读 · 0 评论 -
python接口自动化-7.读取 ini 配置文件
Python中的ConfigParser类,可以很容易读取文件中的配置,如在自动化测试的时候,测试地址,发送自动化邮件报告需要用到的邮箱信息等基础信息,都可以放在文件中然后进行获取默认配置数据。最上面的为section,使用[section_name]进行表示,其中section_name可以任意取名称。然后使用python的ConfigParser类进行获取里面的数据,代码如下所示。存放数据的文件有默认的格式以及名称,为config.ini。其下面的子项是key=value的形式,不需要任何引号。原创 2023-03-23 11:39:08 · 148 阅读 · 0 评论 -
python接口自动化 6.读取yaml文件
yaml 是专门用来写配置文件的语言,非常简洁和强大,更直观,更方便,有点类似于json格式。做接口自动化或者UI自动化的时候,要进行数据分离,把测试数据写在yaml文件中,即在yaml文件中写测试用例。对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)纯量(scalars):单个的、不可再分的值。以上是yaml文件的读取的简单用法,将她进行封装好,后续使用直接调用即可。1.yaml是键值对的格式,python中字典也是键值对的形式。原创 2023-03-23 11:22:53 · 409 阅读 · 0 评论 -
python接口自动化-5.requests库的post请求上传和下载
在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。极其简单,将二进制格式的响应内容存进本地文件中,根据需要下载的文件的格式来写文件名即可。原创 2023-03-23 11:42:35 · 1341 阅读 · 0 评论 -
python接口自动化 - 4.yagmail 发送邮件
使用 yagmail 模块发送邮件更加简单,四行代码。邮件发送给多个人,将接受的邮箱放在列表中即可。使用前先要安装 yagmail。原创 2023-03-23 11:19:05 · 227 阅读 · 0 评论 -
python接口自动化-3.自动发送邮件(1)
Python 的 smtplib 模块提供了发送电子邮件的功能。测试报告出来后,然后就把报告发送到邮箱。使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码。这是简单的邮件内容,正文是写死的,附件也没有。二、发送带正文和附件的邮件。一、先来看简单的列子。原创 2023-03-23 11:17:09 · 118 阅读 · 0 评论 -
Python接口自动化 2.RESTful请求方法封装
这个传递我们写在 request 方法里,所以这里的 http 方法都是调用 requests 方法。init 方法:初始化这个类,初始化的时候需要输入 api_root_url,也就是URL的前缀host。request 方法:真正调用 self.session 的各种方法,这里同样是把参数传下去,只是在传之前,给所有用户输入的 url 加了一个前缀。还有就是当我们需要做一些连续调用的请求,比如“先登录再把商品加入购物车“,这样的时候,需要使用 requests 的 session 功能。原创 2023-03-23 11:13:03 · 257 阅读 · 0 评论 -
1.Python+Requests+Pytest+YAML+Allure实现接口自动化
框架思想:本框架是python+requests+yaml+pytest+allure实现接口自动化框架。结合数据驱动和分层思想,将代码与数据分离,易维护,易上手。使用yaml编写编写测试用例,利用requests库发送请求,使用pytest管理用例,allure生成测试报告。后续可能加上jenkins持续集成。一、数据驱动什么是数据驱动?在接口测试中,测试用例可能有上百条,如果将用例全部写在代码中,一旦需要修改,将会消耗大量的时间,不容易维护。原创 2023-03-22 16:31:31 · 648 阅读 · 0 评论 -
接口测试中urlencoded和json 格式详解
JSON 是存储和交换文本信息的语法。类似 XMLJSON 比 XML 更小、更快,更容易解析JSON是独立于语言JSON 具有自我描述性,更易理解。原创 2023-04-10 19:20:24 · 336 阅读 · 0 评论 -
【request库详解】
request库详解转载 2023-03-20 11:05:45 · 419 阅读 · 0 评论 -
接口测试是什么?以及常见测试工具
接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。原创 2023-04-12 11:14:25 · 96 阅读 · 0 评论