随笔分类 -  python学习日记

接口加密方式
摘要:接口鉴权方式: 1) token鉴权2) timestamp+token+sign 鉴权,其中sign= RSA(token 前50位+时间戳) timestamp+token+sign方式鉴权: 当X-Lemonban-Media-Type请求头值为lemonban.v3时,接口使用timesta 阅读全文
posted @ 2021-11-19 18:51 熊猫星人 阅读(2256) 评论(0) 推荐(0)
pytest框架
摘要:1.动态生成报告 2.夹具作用域 3.参数化 4.用例筛选 5.失败重跑 pytest的run文件,生成动态的测试报告 pytest夹具的作用域 共享 fixture1,将所有的夹具全部放到 一个固定的模块文件, conftest.py2, 所有导入夹具的操作就可以省略, pytest运行时会自动在 阅读全文
posted @ 2021-11-14 16:37 熊猫星人 阅读(71) 评论(0) 推荐(0)
mock接口
摘要:## mock- 什么是 mock- 为什么要使用 mock- 怎么使用(两种方法)通过代码去制造假的输出。(结果)接口自动化测试客户端mock:通过代码去模拟假的接口返回数据。(访问接口的过程就可以省略) 服务 mock (mock server)开发的接口是在server, 真实的服务器。我就自 阅读全文
posted @ 2021-11-13 11:58 熊猫星人 阅读(405) 评论(0) 推荐(0)
pytest测试框架的使用
摘要:## pytest第三方的框架,所以需要安装:pip install pytest对于单元测试框架的核心功能:- 收集用例, 进入目录,运行 pytest - 指定用例函数的定义规则(test_)支持普通函数,测试类- 自动执行用例, 如果不能识别,需要修改 pycharm 默认的执行器改成 pyt 阅读全文
posted @ 2021-11-13 11:16 熊猫星人 阅读(98) 评论(0) 推荐(0)
自动化测试需要注意的知识点
摘要:自动化测试需要注意的知识点: 读取数据库,读取excel, 读取 yaml, log日志, 测试:单元测试框架 unittest / pytest 自动化测试的思想:ddt 数据驱动, 参数化 前置处理( setUp ) 数据伪造,数据生成。 fk 手机号码。 接口关联。 -方法1: setUp # 阅读全文
posted @ 2021-11-07 15:54 熊猫星人 阅读(79) 评论(0) 推荐(0)
业务流测试
摘要:需求:完成投资的业务流测试。 步骤: 审核项目、投资等步骤依赖于前面登录、添加项目的操作 思路: 1.对数据进行预处理,接口访问。数据替换,字符串转为字典,动态获取类的属性 2.访问接口,得到接口的返回结果 3.从响应结果中读取下面接口需要的数据,设置为同名的属性:#invest_token# 4. 阅读全文
posted @ 2021-11-06 15:40 熊猫星人 阅读(89) 评论(0) 推荐(0)
python中的re模块-使用正则表达式
摘要:""" re模块各方法区别 search:若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个 findall:返回string中所有与pattern相匹配的全部字串,返回形式为数组。 finditer:返回 阅读全文
posted @ 2021-11-03 10:23 熊猫星人 阅读(62) 评论(0) 推荐(0)
接口关联
摘要:上次的问题: 1.一个用例的代码太多(封装函数或者类)2.响应数据的获取 --> jsonpath3.余额还没校验,1, 接口返回, 2, 数据库4.正则表达式解决充值用例代码太多的问题:把登录接口封装在base.py里 >在执行充值用例时调用一次,可使用setup或者setupclass登录接口封 阅读全文
posted @ 2021-10-29 15:22 熊猫星人 阅读(73) 评论(0) 推荐(0)
充值接口代码示例
摘要:import json import unittest from ddt import ddt, data import requests from common.excel import read_excel_dict from setting import config cases = read 阅读全文
posted @ 2021-10-27 16:08 熊猫星人 阅读(602) 评论(0) 推荐(0)
数据库操作封装代码示例
摘要:import pymysql class DBHandler(): """数据库操作""" def __init__(self, host='', port= , username='', password='', db_name='f' ): # 得到一个连接对象 self.connection 阅读全文
posted @ 2021-10-27 11:30 熊猫星人 阅读(103) 评论(0) 推荐(0)
数据库的连接-pymysql库的使用
摘要:""" 数据库的步骤: 1, 建立连接 > 认识小姐姐(加个微信) 2, 得到一个游标的对象(数据库的操作都是通过游标), 你和小姐姐约会,见面的机会。 3, execute(sql) ,具体的而执行,(看电影) 4, 获取执行 sql 语句的结果。 (反馈和结果) 5, 关闭游标对象 (再见) 6 阅读全文
posted @ 2021-10-27 11:10 熊猫星人 阅读(100) 评论(0) 推荐(0)
测试数据参数化相关
摘要:1.解决随机生成数据的问题 (1)faker的使用: from faker import Faker def generate_phone(): # 初始化文化 faker = Faker(locale=['zh-cn']) # 生成手机号码 return faker.phone_number() 阅读全文
posted @ 2021-10-25 15:44 熊猫星人 阅读(45) 评论(0) 推荐(0)
注册接口测试优化总结
摘要:# 注册接口测试优化点- 测试报告展示不覆盖 解决方法:文件名加上时间后缀- 注册的手机号码生成 解决方法:使用faker随机生成手机号码 - 全量断言和部分断言 解决方法:excel里写部分预期结果,使用for循环遍历expected和actual # 注册已经实现的功能- 整个框架已经实现了流程 阅读全文
posted @ 2021-10-25 15:08 熊猫星人 阅读(69) 评论(0) 推荐(0)
接口框架项目示例
摘要:整体框架: cases.xlsx用例: common.read_xl的代码 from openpyxl import load_workbook from settings import config def read_excel(file, sheet_name): # 通过文件得到一个工作簿,参 阅读全文
posted @ 2021-10-21 23:33 熊猫星人 阅读(58) 评论(0) 推荐(0)
接口框架开发流程总结
摘要:##测试流程- 需求分析。需求文档,接口文档。抓包接口- 计划。进度?是否自动化?优先级?- 测试用例(是从手工测试提取出来)- 评审- 执行,(写代码)- 报告接到项目:1.需求文档,功能展示以及交互2.接口文档,后端数据怎么传输的3.数据库账号、数据库地址、结构,熟悉整个项目的轮廓、字段4. 测 阅读全文
posted @ 2021-10-21 23:25 熊猫星人 阅读(185) 评论(0) 推荐(0)
requests库的简单使用
摘要:import requests rsp = requests.get('https://www.baidu.com') print(rsp.text) # 字符串 print(rsp.content) # bytes,字节。 == 二进制 # print(rsp.json()) # 字典格式,当返回 阅读全文
posted @ 2021-10-18 14:47 熊猫星人 阅读(161) 评论(0) 推荐(0)
使用flask创建简单的接口
摘要:""" 接口:url 和 某个函数的绑定关系,当访问一个url时,会调用该函数,函数的返回值会返回前端 """ # flask 框架 from flask import Flask # 服务 app = Flask(__name__) # url 调用的函数 def login(): return 阅读全文
posted @ 2021-10-18 14:43 熊猫星人 阅读(302) 评论(0) 推荐(0)
session和token
摘要:http协议无状态的问题:1.不安全2.需要重复传入相同的数据为了解决这两个问题引入了session## session让服务器记住客户端,比如存储账号密码、访问次数等。默认在服务器中保存数据,并生成一个session_id,用来代表存储的数据,通常是加密的比如session = 'yuz;2021 阅读全文
posted @ 2021-10-18 14:40 熊猫星人 阅读(119) 评论(0) 推荐(0)
动态获取文件路径
摘要:# -*- coding: utf-8 -*- # author:wyatt # @time:2021/10/14 20:41 import os # 获取当前文件的绝对路径 print(os.path.abspath(__file__)) # 获取某个文件的目录 file_path = os.pa 阅读全文
posted @ 2021-10-15 21:36 熊猫星人 阅读(134) 评论(0) 推荐(0)
自定义封装logging参考
摘要:# -*- coding: utf-8 -*- # author:wyatt # @time:2021/10/12 20:27 import logging def get_log(name='root', level='INFO', fmt="%(asctime)s--%(message)s", 阅读全文
posted @ 2021-10-12 22:48 熊猫星人 阅读(62) 评论(0) 推荐(0)