python
$团长$
这个作者很懒,什么都没留下…
展开
-
httprunnet自动化测试实战
在项目下debugtalk.py文件下编写自定义函数。原创 2023-10-11 17:29:13 · 173 阅读 · 0 评论 -
vue+djiango实现登录功能
测试平台--登录篇原创 2022-12-02 19:34:15 · 1047 阅读 · 0 评论 -
满足相邻数组相减1输出新数组
一个朋友遇到了一个面试算法题:手写一个列表排序算法。我记得我朋友刷到过这个算法的,但是当时脑子短路了一样,反正没写全,从公司出来就想起来了可以用双指针的。回家就写完要我发出来了。呵呵,不知道大家是不是也遇到过,面试由于当时环境,心理素质等原因,导致本来可以思考出来的东西回答不是很完美题目:输入一个正数组,如果相邻数据相差1(后面-前面=1),则存到新数组输出。调式1:输入:[1]输出:[[1,1]]调式2:输入:[1,2,3,4,4,5]输出:[[1,3],[4,5]]调式3:输入:[原创 2022-01-14 11:46:42 · 303 阅读 · 0 评论 -
列表排序算法
一个朋友遇到了一个面试算法题:手写一个列表排序算法。我记得我朋友刷到过这个算法的,但是当时脑子短路了一样,反正没写全,从公司出来就想起来了可以用双指针的。回家就写完要我发出来了。呵呵,不知道大家是不是也遇到过,面试由于当时环境,心理素质等原因,导致本来可以思考出来的东西回答不是很完美。def sort_list(lista):if len(lista)<=1: return listaelse: for i in range(len(lista)-1): for j原创 2021-12-05 14:49:35 · 385 阅读 · 0 评论 -
时间相关函数看这个就够了
获取当前日期 import time # 格式化成2016-03-20 11:45:39形式 print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) ) # 格式化成2016-03-20 print(time.strftime("%Y-%m-%d", time.localtime()))获取1天\分钟\小时前日期import datetime#一天前 print((datetime.dat原创 2021-11-20 12:03:14 · 517 阅读 · 0 评论 -
RSA加密 python
import base64from Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5def rsa_encrypt(message): rsaPublicKey = '''-----BEGIN PUBLIC KEY----- 11111111 -----END PUBLIC KEY----- ''' rsakey = R原创 2021-10-14 16:59:41 · 103 阅读 · 0 评论 -
字典推导、列表推导--测试过程应用
字典推导格式两个list分别作为字典的key和value.例如:list1a=[‘1’,‘2’],listb=[1,2]需要生成形如这样字典:{‘1’:1,‘2’:2}。n=['1','2']m=[1,2]{i:j for i,j in zip(n,m)}应用如下需求。需要计算TaxScore001、TaxScore002、TaxScore003…TaxScore018等18个变量的值。计算逻辑如下:每5个bank.bankTaxScore001拼接的结果。TaxScore001=bank原创 2021-07-29 15:31:10 · 97 阅读 · 0 评论 -
UI自动化实践
临时抱的狂狮大佬的大腿,鸣谢下这篇文章:selenium2 python 自动化测试。这个有介绍 selenium 家族的介绍,入门的看看这个很不错,我也是入门的,深有体会。demo 目录:common:这是公共模块,常用的函数放里面,目前放了一个执行函数异常捕获的截图的装饰器。report:报告模块,测试报告文件存储的地方。test_case:测试用例模块,测试场景的编写维护Page_object:Page 模块,程序的核心,一个 test_case 对应一个 page。file:文件中心,失原创 2021-06-04 11:10:49 · 100 阅读 · 0 评论 -
Jenkins日构建任务设置实例
安装安装移步建立流水线配置点流水线进入,点配置根据自己情况选择构建类型,以windos为例,先cmd试下自己要执行的任务是否可以执行设置构建频率不熟悉怎么设置可参考:定时任务参数含义提交及结果展示...原创 2021-04-08 21:31:23 · 275 阅读 · 0 评论 -
Threading多线程执行用例
Threading简单介绍官方介绍名词介绍threading.currentThread(): 返回当前的线程变量。threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。除了使用方法外,线程模块同样提供了Thread类来处理线程,Thread类提供了以下方法:run(原创 2021-04-08 21:14:53 · 255 阅读 · 0 评论 -
pip 安装指定国内源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-appiumlibrary==1.4.1.1pip install -i https://pypi.doubanio.com/simple/ -r requirements.txtpip install flask_restful -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com原创 2021-04-01 10:30:25 · 435 阅读 · 0 评论 -
接口自动化框架思考及源码
思考^整理思路思考这么几个问题:我想做一个什么样的自动化平台?用什么方式去实现?怎么去完成我的这个想法?再做之前尽可能多的问自己一些问题,这样的思考可以让思路逐渐清晰。然后就开始憧憬,这个平台用例编写的入口应该单独的保存,这样维护用例会相对方便;需要一个转换用例的中心,将编写的用例转换成程序识别的样子,必读json格式的;需要一个组装用例的地方将用例打包好,策略运行;需要一个保存测试结果的功能;保存的结果需要及时通知给关注者。想了尽可能多的问题,不一定要一次想到,基本的思路有了可以简单整理一下:有原创 2021-03-25 14:05:02 · 240 阅读 · 0 评论 -
djangorestframework安装及启动
# 安装包pip install djangopip install djangorestframework# 开启django项目,并创建了一个django-appdjango-admin startproject tutorialcd tutorialdjango-admin startapp quickstartcd ..#启动服务python manage.py runserver 8080原创 2021-01-05 20:46:16 · 334 阅读 · 0 评论 -
pip安装指定源、版本、文件安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robotframework-appiumlibrary==1.4.1.1pip install -i https://pypi.doubanio.com/simple/ -r requirements.txtpip install flask_restful -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com原创 2020-12-17 17:03:22 · 367 阅读 · 0 评论 -
最新接口自动化测试源码
简约流程图:模块说明:DataCenter:数据中心,主要保存测试环境信息、数据库连接配置(env),及测试报告保存(test_demo.html)logs:日志操作中心,保存执行过程相关日志Public:公共函数。用例需要用的的自定义函数在这里编写。PublicCenter:工厂。包括数据请求(apiRequests),数据操作(Case_Get_Data),数据库操作(DataManangerl),日志定义(logUtil),读取数据(ReadeYaml),测试报告处理(TestReport原创 2020-12-14 11:42:31 · 593 阅读 · 0 评论 -
接口测试自动化
最近团长工作中收到了后台回归测试的任务,火急火燎的写了几个主要流程的接口自动化回归脚本。刚开始想着就几个接口那就直接调用吧,写出来是这样的:class ops_ris(): def __init__(self,env,phase_no='IG_TELCHECK',risk_desc='AGENCY'): self.env=env self.phase_no=phase_no self.risk_desc=risk_desc def inves原创 2020-12-02 11:02:27 · 266 阅读 · 0 评论 -
httprunner安装+allure-运行demo
项目地址指定版本安装httprunnerpip3.7.exe install -i https://pypi.tuna.tsinghua.edu.cn/simple httprunner ==1.5.8查看版本hrun -Vhttprunner支持json和yml格式文件,本demo以yml为例。demo接口:https://cache.kuaidi100.com/index.html?option=add&gCompanyCode=yuantong&gKuaidiNumbe原创 2020-09-24 16:04:43 · 844 阅读 · 0 评论 -
python喝酒问题
问题描述划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊原创 2020-09-09 21:38:01 · 610 阅读 · 0 评论 -
django+vue前后端分离看这个绝对可以
今天是充实的一天,最近在整前后端项目,发现网上资源不够详细,总结了一份给有需要快速上手的小白一个参考。开始上菜吧。代码下载https://download.csdn.net/download/kairui_guxiaobai/12805718资源安装1、python 3.6 3.6以上版本2、django最新版3、node.js2.0以上4、ElementUI安装步骤网上一大把就不占用资源演示了。目录介绍如图:FinTesterApp:后台项目FinTesterWeb:前端项目qu原创 2020-09-03 17:38:38 · 1394 阅读 · 1 评论 -
Python 读和写yaml
def yaml_w(desired_caps): # 将字典写入到yaml curpath = f'{main.BASE_DIR}/quality_management_logic/commonCenter' yamlpath = os.path.join(curpath, "caps.yaml") # 写入到yaml文件 with open(yamlpath, "w", encoding="utf-8") as f: yaml.dump(desired_caps, f)def yaml_原创 2020-09-03 10:46:25 · 193 阅读 · 0 评论 -
Python 多线程写入excle
需求给定两个json格式文件,base,rely,比对两个json差异并将结果保存到excle形如:记录key是否存在,并比较value值 不相等的标黄色。代码:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/7/29 10:44# @Author : zhouwang# @Site :# @File : demo.py# @Software: PyCharmimport osimport jsonimport原创 2020-07-31 10:20:42 · 2979 阅读 · 0 评论 -
python生成带logo的二维码
import qrcodefrom PIL import Imageimport maindef save_qr(text,path,logo): qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=10, border=10, ) # 添加数据 qr.add_data(tex原创 2020-07-10 15:58:13 · 504 阅读 · 0 评论 -
python字典和json互转
字典转jsonimport json dicta={"jt_SubModel_Device20190912":{ "jt_SubModel_Device":"0.9711874127", "state":"S", "version":"20190912" }} json.dumps(dicta,ensure_ascii=False)json转字典import json dicta='''{"jt_SubModel_Device20190912":{ "jt_原创 2020-07-09 17:52:08 · 128 阅读 · 0 评论 -
画图-身份证
画图函数: base_dir = f'{main.BASE_DIR}/quality_management_logic/dataCenter/' self.draw.text((55, self.height * 0.31), self.personName, (0, 0, 0), font=ImageFont.truetype(os.path.join(base_dir, 'msyh.ttc'),24)) #personname应原创 2020-07-01 17:17:46 · 584 阅读 · 2 评论 -
python 交叉引用临时解决
所谓的交叉引用就是指A引入了B,B引入了A,造成循环引用。最好在程序中避免这种情况,万一需要这么做可以再需要用的地方前引用,即不要再函数头引用。原创 2020-06-17 10:19:46 · 406 阅读 · 0 评论 -
随机取字典key及value
有时候需要随机取字典的key或者value里面的值,如下。compan={"9101": ["9101001", "9101002", "9101003", "9101004", "9101005"], "9102": ["9102001", "9102002", "9102003", "9102004", "9102005"], "9103": ["9103001", "9103002", "9103003", "9103004", "9103005"], "9104":原创 2020-06-11 20:51:14 · 3377 阅读 · 2 评论 -
ModuleNotFoundError
不同层级的module调用会出现ModuleNotFoundError。程序找module是重sys.path中顺序查找的,可能你的module未加入环境变量,可以试试手工添加BASE_DIR = os.path.dirname(os.path.abspath(__file__)) sys.path.append(BASE_DIR)原创 2020-05-30 16:29:35 · 453 阅读 · 0 评论 -
自动化项目树目录
tree_str = ''from pathlib import Pathdef generate_tree(pathname, n=0): global tree_str if pathname.is_file(): tree_str += ' |' * n + '-' * 4 + pathname.name + '\n' elif pathname.is_dir(): tree_str += ' |' * n + '-' * 4 +原创 2020-05-26 21:17:27 · 208 阅读 · 0 评论 -
程序运行的的变量写入yaml然后读出文件内容
最近在写一个自动化脚本。遇到一个头疼的问题,特记录下。在写脚本过程中有个程序暂时只能用shell方式调用,导致想用运行过程中的变量获取不到,如下类似:os.system('D:\\soft\\anaconda3\\python.exe dataCenter/get_adacard_yd.py')尝试各种鸡肋的方式,直接获取不到,那就间接获取吧。在get_adacard_yd.py中将用的的变量报存到yaml文件,其他地方需要用到这个变量直接从yaml读就完事了。代码其实很简单,如下def yaml原创 2020-05-26 20:28:54 · 1018 阅读 · 2 评论 -
日志加密怎么测试?
最近收到一个日志加密的测试任务。需求大致如下:根据调用的关键字出参及入参对应values进行加密关键字:'mobileNo|custName|money|mobile|userNo|fullName|idNo|panNo|aadhaarNo|registerMobileNo|applyMobile|phone|name|aadhaarCardNo|aadhaarCardName|custRegisterPhoneNum|phoneNumber|idNumber|mobilePhone|middleNa原创 2020-05-18 13:09:45 · 715 阅读 · 0 评论 -
快速排序算法直观比较
前言排序算法网上看一大把,今天试试牛刀,比较下快速排序和冒泡排序#快速排序"""对于一串序列,首先从中选取一个数,凡是小于这个数的值就被放在左边一摞,凡是大于这个数的值就被放在右边一摞。然后,继续对左右两摞进行快速排序。直到进行快速排序的序列长度小于 2 (即序列中只有一个值或者空值)"""def quick_sort(lis): if len(lis)<2: return lis else: base=lis[0] le原创 2020-05-14 20:53:58 · 220 阅读 · 0 评论 -
RSA加密与使用
背景在公司实际项目中,敏感数据往往需要脱敏。做接口自动化测试过程加密数据是不好控制的,那么掌握参数加密成为了前置步骤。需要哪些东西跟开发获取加密方式;公钥。直接上代码#加密import base64from Crypto.PublicKey import RSAfrom Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5from dataCenter.in_data import public_key#引入公钥rsaPublicK原创 2020-05-12 21:15:54 · 323 阅读 · 0 评论 -
xlrd、xlwt读写excel实战
xlrd、xlwt读写excel实战实战背景需求给一个excel,里面有两列(一个是大类key,一个小类value)是需要按照逻辑输出值的。其中一个大类是对应多个小类的,涉及excle的合并操作。加工后的目标数据类似json格式:{‘大类’:{小类1:,小类2:}}。加工后的数据要是大类或者小类不存在 就把excle对应行标红色(大类存在小类值为空等也可以实现)代码import xlrd...原创 2020-04-28 18:30:13 · 224 阅读 · 0 评论 -
python 股票最大收益问题
思路:计算差值: 后一天的价格 - 前一天的价格def maxProfit(list1): dict1={} if len(list1)<=1: print('无收益') else: for i in range(len(list1)): if i>=len(list1)-1: ...原创 2020-04-01 17:29:53 · 1130 阅读 · 0 评论 -
字典按照key和value排序
python 字典排序问题 #value排序 dict1=sorted(dict1.items(),key=lambda x:x[1],reverse=True) #key排序 dict1=sorted(dict1.items(),key=lambda x:x[0],reverse=True)原创 2020-04-01 14:36:57 · 535 阅读 · 0 评论 -
list和dict的应用
list和dict的应用给定一个list和dict,返回list中元素不存在dict的key、存在dict但是value为空、存在dict但是value为0的结果。直接上代码def isnotexsit(dict1, list1): ''' 给一个字典,列表,返回字典对应key不存在列表的结果集 :param dict: {},[] :return: [] ...原创 2020-03-06 15:15:35 · 236 阅读 · 0 评论 -
takes from 1 to 2 positional arguments but 3 were given
写python程序,偶然遇到此问题。确认发现并没有少参数。函数为类下函数,定义时需要添加self参数。但是!为何Python给self赋值而你不必给self赋值?查询相关资料发现创建了一个类MyClass,实例化MyClass得到了MyObject这个对象,然后调用这个对象的方法MyObject.method(arg1,arg2),这个过程中Python会自动转为Myclass.mehod(My...转载 2019-07-10 10:20:43 · 22099 阅读 · 8 评论 -
过滤string中的\n\t
在读取文件中数据过程中发现提取出的信息中有“\n\t”,并且无法去掉,查阅了相关资料,后发现该字符表示换行符\制表符。这类符号一般处理数据需要过滤掉。网上查询如下方法:...原创 2019-07-10 15:54:30 · 1235 阅读 · 0 评论 -
接口自动化系列教程----思路篇
作为一个测试小白,自动化是进入高阶测试的必经之路。最近对开源作品偶有兴趣,想自己在git上弄点东西,所以就写了一个接口自动化的小框架,特记录一下在开发过程遇到的问题和产品给同样是测试小白的同学借鉴学习。主要开发语言及库:python、requests、openpyxl、xlrd、smtplib、email。(如何实现python请求接口)。思路来源:通过excle写测试数据,程序读取并组装、调用...原创 2019-07-18 14:05:12 · 488 阅读 · 0 评论 -
接口自动化系列教程----应用中心
接口自动化思路看这里码云地址:https://gitee.com/AutoApi/apiauto上一篇分享了整体的思路和架构。本文详细介绍应用层主要提供的服务。应用层主要包含的功能及备注:1、接口中心服务介绍主要提供接口请求服务,返回接口请求结果。主要代码展示Interface(session,url, param=None,parammode='data', method='po...原创 2019-07-18 14:18:11 · 214 阅读 · 0 评论