![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python3
万物可测
记录日常工作中的各种问题及解决方法
展开
-
查看flask接口请求总耗时(装饰器)
写个简单的flask服务,定义了一个接口demo,用jmeter测试性能情况,并分析性能问题原因。原创 2023-01-31 11:30:09 · 584 阅读 · 0 评论 -
python3--globals()内置函数应用
通过以上结果基本可以得出,globals()可以拿到脚本里所有的成员信息,那么如果应用到接口自动化进行传参,直接就可以使用globals()存储和加载能力然后进行获取我们需要的内容。总结,globals()可以拿到模块里所有的变量,同时也可以往里面主动存储数据,需要使用的时候可以获取对应的数据信息。做接口自动化的时候做链路测试需要进行业务参数传递。原创 2023-01-13 18:22:47 · 445 阅读 · 0 评论 -
pytest之conftest.py文件使用
使用pytest框架做接口自动化,一般情况下接口测试前置操作首先需要进行鉴权,基于pytest里面fixture共享机制,可以将鉴权部分提取到配置文件里,pytest可以识别加载conftest.py(这个py文件是自己手动创建的,不会生成),此文件配置好后可以全局生效,但是conftest.py是有一些规范要求,具体规范如下原创 2022-10-31 10:04:09 · 1940 阅读 · 1 评论 -
Python3.10+unittest自动化parameters报错
Python3.10+unittest自动化parameters报错AttributeError: module 'collections' has no attribute 'Mapping'原创 2022-10-28 11:24:06 · 491 阅读 · 0 评论 -
接口自动化之pytest+allure报告效果展示
log:pytest的一些依赖库及插件相关知识点自行百度报告效果图目的报告可读性强,用例场景层级清晰,接口报错可以快递定位报告内容包括:用例级下多场景展示,每条用例请求的必备参数及相关结果附件展示实现代码# -*- coding:utf-8 -*-# @FileName:tenant.py# @Author :YYQ# @Desc :在一台超级计算机上运行过的牛逼Python代码import pytestfrom common.log import log原创 2022-05-27 13:23:48 · 370 阅读 · 0 评论 -
python3线程池(ThreadPoolExecutor)处理csv文件数据入库
背景由于不同乙方对服务商业务接口字段理解不一致,导致线上上千万数据量数据存在问题,为了修复数据,通过Python脚本进行修改目的记录与分享知识点Python3、线程池、pymysql、CSV文件操作、requests拓展当我们程序在使用到线程、进程或协程的时候,以下三个知识点可以先做个基本认知,自行百度吧CPU密集型、IO密集型、GIL全局解释器锁库pip3 install requestspip3 install pymysql流程实现代码.原创 2022-04-24 13:18:05 · 1508 阅读 · 0 评论 -
python3中使用MD5加密32位混淆串
# 第一步引入hashlib库import hashlib# 定义一个字符串,例如:YYQstring = "YYQ"# 对此字符串进行小写加密res = hashlib.md5(string.encode(encoding='UTF-8')).hexdigest()print(f"小写加密结果>>>【{res}】")# 如上有了小写加密,那么想要大写的,只需要使用 upper() 进行大写转换即可,如下:ures = res.upper()print(f"大写加密结.原创 2022-01-06 15:35:17 · 2442 阅读 · 0 评论 -
二进制与十进制的相互转换
简单来理解就是 逢二进一举例:1 0000 00012 0000 00103 0000 0011......255 1111 1111从上面的例子来看我们很容易看出来,从右往左,每加1后是2会往前加一位,然后2的位置换成0十进制转换二进制方法:举例:32转换二进制32//2=16 016//2=8 08//2=4 04//2=2 02//2=1 01//2=0 ...原创 2021-06-22 22:31:23 · 722 阅读 · 0 评论 -
Python3随机获取list元素 --库 random
log:在mock数据或者性能测试过程中,需要对一些参数进行动态传递,可以使用以下方法对部分参数进行操作:# !/usr/bin/env python# -*- encoding: utf-8 -*-# @Author : yyqaccount = ["interface_sequence_1", "interface_sequence_2", "interface_sequence_3", "interface_sequence_4", "interface_se原创 2021-04-09 15:34:26 · 653 阅读 · 0 评论 -
python3之grequests并发测试使用及与jmeter并发测试结果对比
log:背景之前一段时间做性能测试的时候,用过jmeter,使用python3写过多线程/多进程脚本,最后还使用了locust工具,但是最终的测试结果让人有些迷茫,查询了很多资料都说是locust比jmeter各种强大,但是在同样单机的情况下,测试结果却是jmeter给出的结果更直接。分析jmeter是基于线程进行并发,就是一个线程就是一个用户locust是基于协程,正常来说同样的单机资源应该比jmeter更强,但是测试结果却让我有点迷(具体原理xxx,懵的)测试这两天就抽时间研原创 2020-11-13 14:53:53 · 700 阅读 · 0 评论 -
python3-接口自动化测试报告(测试用例名称展示)
log:说明:本套接口自动化用的unit test框架,接口信息存储在excel里,unittest级别的用例只是用了一个def test_case(self) 单元用例,通过循环读取excel用例进行处理解决HTML报告中,第一列用例集展示报告展示结果:结合上篇修改的参数化源码:https://blog.csdn.net/qq_38915739/article/details/109476047继续修改 HTMLTestRunner.py 模板文件# coding=utf..原创 2020-11-04 13:42:28 · 434 阅读 · 0 评论 -
python3-接口自动化用例编号排序和名称展示问题处理,修改paramunittest.py
log:最近在处理接口自动化的时候发现excel用例执行顺序问题,经过一番排查对paramunittest.py文件进行了修改 1.实现用例按excel排的顺序执行 2.实现用例报告用例编号排序paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例用ddt可以解决多组数据传入,自动生成多个测试用例。本篇介绍一下参数化的框架paramunittest,从excel获取用例名称以及用例序号testcase_xls获取的excel用例..原创 2020-11-03 19:17:01 · 1220 阅读 · 1 评论 -
Python3生成随机手机号
log:使用场景:接口性能测试手机号动态传参,生成低概率不重复手机号代码如下def create_phone(): # 第二位数字 second = [3, 4, 5, 7, 8][random.randint(1, 4)] #第三位数字 third = {3: random.randint(0, 9), 4: [5, 7, 9][random.randint(0, 2)], 5: [i for i in range(原创 2020-10-24 13:17:13 · 1030 阅读 · 0 评论 -
python3生产kafka消息--动态参数读取文件
log:通过import linecachemember = linecache.getline("member_id.TXT", i)line = member_id.strip('\n')data["member"] = line控制每次获取到的文件对应的参数# !/usr/bin/env python# -*- encoding: utf-8 -*-# @Author : yyqimport jsonimport timeimport linecachefro原创 2020-10-10 11:02:23 · 462 阅读 · 0 评论 -
python3-连接kafka生产测试数据
log:pip3 install kafkapip3 install kafka-python1.通过脚本实现让kafka生产测试数据,测试下游业务服务性能2.可以增加线程池,让多线程并发执行,效果更好# !/usr/bin/env python# -*- encoding: utf-8 -*-# @Author : yyqimport datetimeimport jsonimport randomimport timefrom itertools import is原创 2020-09-25 17:48:28 · 883 阅读 · 0 评论 -
python3 pip install 库 超时问题解决
log:python3.7安装 pip install locust异常如下:原因:下载超时解决方法:pip install -i https://pypi.doubanio.com/simple/ locust使用豆瓣镜像:https://pypi.doubanio.com/simple/(亲测好用)效果:原创 2020-08-25 18:47:12 · 608 阅读 · 0 评论 -
python使用faker模块模拟真实用户的测试虚拟数据
log:为了满足模拟真实用户需求测试,使用faker模块造些更贴合真实场景的测试数据详细文档地址:https://faker.readthedocs.io/en/master/index.htmlFaker(locale='zh-CN') 指定为中国区的数据# !/usr/bin/env python# -*- encoding: utf-8 -*-import rando...原创 2020-02-27 17:35:53 · 503 阅读 · 0 评论 -
python3实现简单的接口调用
日常记录:#!/usr/bin/env python# -*- coding: utf-8 -*-import requestsimport jsonimport unittesturl = 'https:xxxxx.userTag'headers = { "X-TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzIxxxxxxxRJZCI6InFp...原创 2019-11-12 17:12:17 · 1184 阅读 · 0 评论