python接口自动化
桦泽
生活,记录每一个成长瞬间。未来的你,会感谢今天仍在奋斗的你
展开
-
parsel html提取值处理
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>标签选择器</title></head><body> <p>css标签选择器的介绍</p> <p class='p'>标签选择器、类选择器、ID选择器</p> <a href=原创 2021-08-05 18:07:41 · 559 阅读 · 0 评论 -
接口契约校验
json_verify说明: 主要用于json数据diff,输出匹配的字段信息、字段匹配准确率安装方式:pip install json_verify1、 生成契约校验实例from json_verify import JsonVerifydemo_json = { "msg": "一段文字信息", "phone": 13746067836, "name": [ {"age": 12}, {"phone": 213213, "age"原创 2021-08-02 15:25:20 · 554 阅读 · 0 评论 -
钉钉机器人文字样式
本文主要介绍markdown格式的机器人文本内容:先上钉钉机器人开发者演示:{ "msgtype": "markdown", "markdown": { "title":"杭州天气", "text": "#### 杭州天气 @150XXXXXXXX \n> 9度,西北风1级,空气良89,相对温度73%\n> ![screenshot](https://img-blog.csdnimg.cn/img_convert/eab4ea2c673原创 2021-04-08 14:13:30 · 4996 阅读 · 11 评论 -
7. python faker
faker的解释Faker是一个Python包,它会为你生成假数据。无论您是需要启动数据库、创建漂亮的XML文档、填写持久性以进行压力测试,还是将从生产服务获取的数据匿名化,Faker都适合您。常用场景:接口请求时创建随机数安装方法: pip install faker -i https://pypi.douban.com/simple使用方法:from faker import Fakerfaker = Faker(locale='zh-CN') # 支持的语言分类 zh-CN代指中文pr原创 2021-04-06 15:22:47 · 186 阅读 · 0 评论 -
5. jmespath处理json数据
安装jmespathpip install jmespath -i https://pypi.douban.com/simple常用:(同作用其他类似库:jsonpath)1、提取接口响应数据作为关联接口参数化数据来源2、提取接口关键字信息作为接口校验的字段实际值与期望值比较常见接口响应数据:response = { "code": 0, "message": "操作成功", "data": [ {"id": "421", "group_name": "前台1", "em原创 2021-04-06 11:20:22 · 345 阅读 · 0 评论 -
6. python读取yaml文件
目录结构:实际在接口自动化我们可以使用很多类型的配置文件如: ini、json、config等这里我们使用yaml因为格式清晰、层级目录结构有颜色标注__|-- demo.yaml|–yamlTreating.py文件内容demo.yaml# yamlTreating.pyimport yamlwith open('demo.yaml', 'r', encoding='utf-8') as f: content = f.read() file = yaml.load原创 2021-04-06 09:56:42 · 97 阅读 · 0 评论 -
python 连接数据库
专注于MySQL数据库,其他数据库都存在相对应的python库,使用方法大同小异。自行百度···import pymysqlDATA_BASE = {'host': '10.118.XX.XX', 'user': 'root', 'port': 3306, 'password': '#0516#', 'database': 'testfirstroom', 'charset': 'utf8'}conn = pymysql.connect(**DATA_BASE) # 实例原创 2021-03-31 19:49:07 · 92 阅读 · 0 评论 -
python 读取excel
读取指定的excel文件from openpyxl import load_workbookclass ExcelTreating: def __init__(self, excel_path): self.workbook = load_workbook(excel_path) # 实例化excel文件操作对象 def read_excel(self, sheet_name): sheet = self.workbook(sheet_name) # 实例化一个excel表单操作原创 2021-03-31 18:45:41 · 141 阅读 · 2 评论 -
2 python requests
requests 请求百度import requestsurl = 'https://www.baidu.com'response = requests.get(url) # 使用requests库向百度发起一个请求print(response.text) # 打印接口返回的文本内容,若返回为json数据则打印返回的jsonprint(response.json()) # 打印返回的json数据,如果返回数据结构不是json则会抛出异常# 接口请求中常用接口返回的json数据进行断言、数据原创 2021-03-23 20:19:56 · 135 阅读 · 0 评论 -
python接口自动化
python接口自动化库依赖所有库均为第三方库,python自带库在本文中不做重点介绍。第三方库统一安装方式: pip install <库名>为了安装速度更快可使用国内镜像地址: pip install -i https://pypi.douban.com/simple常用库(本项目中使用)库名其他类似库主要功能连接requestshttpx、urllib3发送http、https请求使用openpyxlpandas、xrld处理exce原创 2021-03-22 19:57:57 · 115 阅读 · 0 评论 -
python自动化关联接口参数化(3)高阶
1、接口请求数据参数化替换原创 2020-10-21 20:32:32 · 280 阅读 · 1 评论 -
python自动化关联接口参数化(2)高阶
1、接口数据保存源码import reimport astimport jmespathclass BaseModel: ''' 返回值参数化保存的全局变量视图 ''' var_map = {} class SaveResponseData: def save_data(self, save_key_list, raw_data): """ :param save_key_list: 需要保存的原创 2020-10-21 20:28:51 · 428 阅读 · 0 评论 -
python logging日志封装
接口自动化日志封装目录结构|–mylog.py|–log.txt# mylog.pyimport loggingfrom setting import config_var# from Common.Pathfile import log_pathclass MyLogging(): """自定日志之类""" def __init__(self, level): self.level = level def my_log(self):原创 2020-09-14 21:27:30 · 363 阅读 · 0 评论 -
接口自动化数据存储与读取(2)
使用内置函数读取import reclass RecordFirstLinePlace: CordPlace = {} # 记录每一行title在列的位置,使用索引取值时会使用其中记录的数据class TableTreating: def __init__(self, filename): self.filename = filename self.filepath = filename self.wb = load_workbo原创 2020-09-14 15:42:22 · 410 阅读 · 0 评论 -
自动化测试数据存储与读取(1)
1、数据存储方式一般:yaml文件、数据库、json文件、直接使用python文件、excel表格本次使用excel作为测试数据保存文件,方便直接查看修改、维护excel数据结构我们使用第三方库openpyxl安装方式: pip install -i https://pypi.douban.com/simple openpyxl支持格式以.xlsx结尾的文件from openpyxl import load_workbookwb = load_workbook('FirstRoom.xl原创 2020-09-11 22:22:12 · 985 阅读 · 0 评论 -
pytest(02) allure测试用例名称动态生成(函数内部控制用例名称)
上一章:说明如何控制用例名称长度,如果我们想在函数内部控制测试用例名称,可以使用allure.dynamic动态生成测试用例名称源码实现:import pytestimport alluretestdata = [{'CaseId': 33, 'url': '/saas-api/stock/out-ticket/save', 'CaseName': '保存p1', 'yapi_id': 1471, 'req_query': '{}', 'req_body': '{"op原创 2020-09-11 10:49:49 · 1427 阅读 · 2 评论 -
pytest(01)allure 报告用例名称paramtrize控制
1、使用paramtrize传参优点减少代码编写亮,提高测试用例的编写效率,但若paramtrize传参的参数过长时会影响用例名称显示:这样使得测试用例名称不够美观,那么如何使用paramtrize传参使得用例名称美观而数据又能在测试函数内部使用将至关重要。源码实现:import pytestimport alluretestdata = [{'CaseId': 33, 'url': '/saas-api/stock/out-ticket/save', 'CaseName': '保存p1',原创 2020-09-11 10:25:50 · 708 阅读 · 0 评论 -
python自动化关联接口返回值参数化(1)初阶
转载请注明出处:1、返回数据参数化1.1 常处理接口请求返回值参数化是接口请求中避免大量维护测试用例关键,如何做好参数化是能否提高自动化用例转换效率的关键。通常接口自动化会将接口返回值所有内容保存到临时变量,在需要使用时按照层级接口取出,依据自定义规则替换到请求数据。痛点:保存完整数据结构内存消耗大替换时需要写出长长的层级结构接口使用到相同数据时,每次替换都需要写层级结构替换替换数据时需要多次查看接口文档,观察层级结构常用替换规则举例import re# 实例:接口B请求时依赖接口原创 2020-09-09 14:41:50 · 1723 阅读 · 1 评论