
接口自动化测试
python接口自动化测试
杰森斯坦森1150
热爱生活,热爱运动
展开
-
mock模拟接口测试
一、为什么要使用mock1.单元测试/接口测试中测试对象依赖其他对象,这些对象的构造复杂、耗时或者根本无法构造(未交付)2.我们只测试对象内部逻辑的质量,不关心依赖对象的逻辑正确性和稳定性3.当前端开发在开发页面的时候,需要服务端提供API接口此时服务端没开发完成,或者说没搭建测试环境,这个时候前端开发会自己mock一个api服务端,自己给自己提供调用接口的返回数据mock服务器用途就是开发在开发的过程中,需要依赖一部分的接口,但是对方没有提供或者环境等等情况。4.依赖第三方数据的接口测试mo原创 2020-12-09 17:49:24 · 9187 阅读 · 2 评论 -
python之 globals() 函数使用及在作为接口返回值供下一个接口使用的场景
Python globals() 函数globals() 函数会以字典类型返回当前位置的全部全局变量语法globals()作用返回全局变量的字典a=66b=22c=123name = "guiying"print(globals())接口测试中的使用场景:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例1的结果,给用例2使用。unittest框架的每个用例都是独立的,测试数据共享的话,需设置全局变量,可以使用globals()函原创 2020-11-11 15:23:30 · 935 阅读 · 1 评论 -
python返回结果取值字典取值、正则取值、jsonpath解析取值
做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言。或者取出需要的值常规的字典取值result = { "code": 1, "data": [ { "age": 16, "create_time": "2020-11-11", "id": 1, "mail": "1172379@163.com", "name": "g原创 2020-11-11 11:14:41 · 1615 阅读 · 2 评论 -
ddt数据驱动总结
ddt: 数据驱动思想:data driven testingdata driven testing 数据驱动思想。现在所说的是一个叫做 ddt 的 python 库ddt 库是和 unittest 搭配起来使用的, 是 unittest 的一个插件。python / unittest / ddt 自动化测试框架格式如下:@ddt.ddt 没有括号class TestDemo:@ddt.data() 右括号def test_demo(self): pass什么的项目适合原创 2020-10-24 13:10:41 · 1346 阅读 · 1 评论 -
含有token鉴权的接口项目使用unittest框架设计测试登录,充值的接口
项目需求:根据接口文档要求:登录 服务器会返回token值充值 充值时需要传入token值进行鉴权处理,才能充值成功在用unittest框架测试时,若要设计充值的用例,充值的请求参数一定要先拿到登录时的token值以及id,才能进行充值处理,(充值要依赖登录时token值,和id值)处理思路1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件2.写一个读yaml文件的get_token()函数放到re_token.py,去读取需要的数据3.其它脚本全部调用re_token.py里面原创 2020-10-23 19:11:12 · 632 阅读 · 1 评论 -
python第三方库openpyxl处理excel数据
Excel 的基础用法。手工如何操作 Excel, python 学习手工如何操作Excel手工操作 Excel 的流程1, 打开Excel 文件 (路径 + 文件名)2, 获取表单3, 使用行号,和列号去确定需要读取的数据4, 关闭文件python 操作 Excel, 工具openpyxl, 支持 xlsx 新型格式的读写, 读取速度还可以。tablib, 支持多种格式读写。 xlsx, xls, csv, json, yaml, html, pdxlrd, 经典的 Excel 读原创 2020-10-22 20:57:30 · 709 阅读 · 2 评论 -
request请求方法封装
对 requests 发送请求封装成类:1,支持 session 管理(可以定义 session 属性)2,封装 visit 方法(可以发送 get 和 post 请求)import requests"""对 requests 发送请求封装成类:1,支持 session 管理(可以定义 session 属性)2,封装 visit 方法(可以发送 get 和 post 请求)"""class HTTPHandle: def __init__(self): if __n原创 2020-10-21 20:10:49 · 1383 阅读 · 0 评论 -
request场景中对于登录充值的操作,登录中服务器返回的cookies的处理
场景是: 登录–充值管理登录返回的set-cookie:JSESSIONID可以通过cookies也可以通过session会话进行管理方法1:cookies管理登录相当于打开一次浏览器,充值相当于又打开一次浏览器,所以充值时需要传cookies先通过抓包看下,登陆后服务器返回的cookies值import requests# 管理登录返回的set-cookie:JSESSIONID可以通过cookies也可以通过session会话进行管理#一个session就是一次回话对象#1.每开一次浏原创 2020-10-21 16:25:40 · 365 阅读 · 1 评论 -
request之token鉴权
根据接口文档要求,充值需先登录获取token,然后充值时在请求头需加上 token值import requests# 登录接口#token放到什么地方#token可以放到请求体当中?根据接口文档,只是一种协议,开发人员和你之间定义的协议#cookies 可以放到请求体当中?http协议url = 'http://120.78.128.25:8766/futureloan/member/login'headers = {"X-Lemonban-Media-Type":"lemonban.v2原创 2020-10-21 14:17:58 · 3362 阅读 · 0 评论 -
request传入三种关键字json、data、params情况的格式
1.传入参数, json=data json关键字参数就是表示content-typeimport requestsurl = 'http://120.78.128.25:8766/futureloan/member/register'headers = {"X-Lemonban-Media-Type":"lemonban.v2"}data = {"mobile_phone":"13712341280","pwd":"12345678"}#一定要添加header关键字参数,不能以位置参数传递#原创 2020-10-20 23:32:12 · 4459 阅读 · 0 评论 -
自动化框架分层
框架的分层:代码运行层:run_test.py作用:代码的入口,运行代码,收集测试用例,生成测试报告测试逻辑层:test_case包,各个模块的测试用例方法,便于管理,便于维护数据管理层: data,excel数据,csv数据,数据列表的保存业务逻辑层:common 通用(request_handler,excel_handler),通用的,*logger日志的封装,访问数据库配置文件:config 和项目相关联的,项目地址,数据库地址,logger级别测试报告(输出)report如下图所示原创 2020-05-17 18:43:29 · 1634 阅读 · 0 评论 -
json和字典的相互转化
import json# 字典:""data = '{"mobile_phone":"13595271250","pwd":null}'# a = eval(data)# print(a)# json 和 字典的转化尽量不要用 eval# 使用 json 模块完成转化# TODO loads 表示把 json 字符串转化成字典data_dict = json.loads(data)print(data_dict)# TODO 字典转化成 jsondata_dict = {'原创 2020-05-17 17:43:06 · 1530 阅读 · 0 评论