自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 linux常用命令整理

参考:https://blog.csdn.net/lz6363/article/details/82664130一,目录切换 cdcd / 切换到根目录cd /usr 切换到根目录下的usr目录cd … 切换到上一级目录cd ~ 切换到home目录cd - 切换到上次访问的目录二,目录查看 ls [-al]ls 查看当前目录下的所有目录和文件ls -a 查看当前目录下的所

2021-11-01 21:30:00 185

原创 sql函数及创建表结构(DDL)

在数据构造需要在数据库中批量插入数据,实例如下begin declare i int(6) default 100; declare project_code varchar(10); declare event_name varchar(100); declare event_code varchar(10); declare platform varchar(20); declare memo varchar(200); declar

2021-10-22 18:03:44 840

原创 postman通过导入文件来构造当前测试集中用到的批量数据

只有在使用 Collection Runner 的时候,可以通过导入 Data Files 来构造当前测试集中用到的数据步骤:1,接口中的mobile和password参数需要使用批量不同账号密码,则分别设定一个变量mobile_login和password_login2,在tests模板对mobile_login和password_login变量设置成全局变量var mobile_login=postman.getGlobalVariable("mobile_login");var pass

2021-10-16 18:41:35 329

原创 栈与队列

栈与队列一,栈:栈的特点:先进后出,仅允许在表的一端进行插入和删除运算列表实现栈:参考地址:https://blog.csdn.net/zhisuihen6347/article/details/84445813列表使用append在最后添加新元素,使用pop移除最后一位元素思想理解:在使用列表实现栈中,因为每次append增加元素时,会导致列表中底层数值可能发生位置移动导致效率低下,其中一个解决办法就是先默认一个值为None的列表长度n,当栈满时,再将列表长度扩大为n*2,当栈元素被移除,所

2021-04-12 15:08:00 112

原创 远程调用框架RPC

RPCRPC就是:远程调用框架(Remote Procedure Call)远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方。1,远程调用原理比如 A (client) 调用 B (server) 提供的remoteAdd方法:首先A与B之间建立一个TCP连接;然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;B接受A发送过来的字节流,然后反序列化得到目标方法名,方法参数,接着执行相应的方法调用(可能是loc

2021-02-22 15:52:29 459

原创 jenkins

jenkins + pipeline构建自动化部署(Jenkins 2.x的核心,也是目前经常使用的方式 )参考地址:https://www.cnblogs.com/shenh/p/8963688.htmlhttps://blog.csdn.net/diantun00/article/details/81075007jenkins+Android+gradle持续集成 实现Android自动化打包参考地址:https://www.cnblogs.com/shenh/p/9640233.html

2021-02-22 10:50:05 82 1

原创 二叉树和链表(python)

背景:之前对二叉树的使用不是很明白,把看过一些别人写的文章放一起,便于自己查看1,二叉树基础:https://www.jianshu.com/p/bf73c8d50dc22,python实现二叉树:https://blog.csdn.net/weixin_42906066/article/details/102784049https://www.cnblogs.com/anzhengyu/p/11083568.html...

2021-01-20 20:35:43 208

原创 docker和k8s

保留比较好理解的链接文章Docker和k8s的区别与介绍https://www.cnblogs.com/misswangxing/p/10669444.htmlK8S和docker区别----入门级基础概念https://www.jianshu.com/p/88f950abd982

2021-01-18 15:20:40 76

原创 go基础+视频学习资料

背景研发开始使用go开发,所以跟上潮流学习一下,之前一边看视频一遍做了笔记,记录一下,作为复习巩固使用资料1,整理到了百度云盘上:链接:https://pan.baidu.com/s/1522w8sc_KZ38inS1TtmFig提取码:q8zj2,bilibili上感觉讲得很好:https://www.bilibili.com/video/BV1x5411h7Md笔记基础基本数据类型有: 整型、浮点型、布尔型、字符串复合数据类型有: 数组、切片、结构体、函数、map、通道(channel

2021-01-14 20:36:52 243

原创 多进程查询数据,multiprocessing模块

https://blog.csdn.net/ctwy291314/article/details/89358144

2020-11-19 19:57:36 289

原创 sql索引

如果数据量级比较大时,还需要关注sql索引查询,参考https://blog.csdn.net/weixin_36586564/article/details/79641748

2020-11-18 20:11:54 80

原创 多线程查询数据,threading模块

背景对数据库中的订单进行查询,将符合条件的订单筛选出来。但是就测试环境仅查询6000条数据进行一一判断时,发现使用了8分钟,更别说更多数据了。更改后可以减少查询时间,总查询时间大概1.5分钟。可能并不是好的方法,但是自己做个记录以供下次参考情况:1,订单表orders中的数据量比较大,不能一次性查询全部数据,需要分批查询2,订单筛选涉及到两个表,一个是orders表,将符合条件的订单筛选出来;另一个是plan表,需要将每条订单去plan表里查询,如果符合条件,则把该订单晒出来3,需要减少查询时间

2020-11-16 19:47:20 227

原创 openpyxl模块

openpyxl模块:https://www.cnblogs.com/programmer-tlh/p/10461353.html

2020-10-20 18:46:08 301 3

转载 jenkins构建执行脚本提示permission-denied

背景脚本在服务器上可以正常手动执行,但是在jenkins上运行时提示permission-denied,查询了解决方法也实践成功解决,在此记录一下问题脚本在服务器上可以正常手动执行,但是在jenkins上运行时提示permission-denied原因jenkins用户的权限不够解决1.修改jenkins配置检查jenkins配置配置文件,将执行用户改成root,不然后面可能出现执行shell没有权限sudo vim /etc/sysconfig/jenkins # 编辑文件,这里需要使

2020-10-09 17:39:36 3933 3

原创 区分本地和服务器环境处理代码

背景:在写脚本过程中,因为本地环境和服务期环境不一样,部分功能的代码需要根据当前环境单独处理,最开始的做法是传到服务器后再将不能用的代码注释,但是每次都这么做比较费时间简单方法:判断当前服务器ip,然后根据不同的IP处理不同代码判断服务器ip方法,然后在其它地方直接调用该方法即可# coding = utf-8import socketdef get_host_ip(): """ 查询本机ip地址 :return: """ try: s

2020-09-28 18:53:13 710 1

原创 python之re模块

背景:在写监控脚本过程中发现会使用到正则表达式以及re模块来匹配相应内容并校验判断,然后在使用过程中对re模块下的一些方法使用场景不是很熟悉,所以对re模块进行一个简单概要的学习和记录,下次即使忘记了也可以参照这篇快速回忆参考地址:https://www.cnblogs.com/chengege/p/11190782.html一,re模块之re.compile()re.compile(string)就是返回一个pattern对象,参数是原生字符串对象pattern=re.compile('##(.

2020-09-24 14:04:14 247

原创 CentOS 7上使用docker运行python脚本文件

一,下载python镜像 docker pull python:3.5二,在宿主机(本机服务器)上创建一个目录,新建一个python脚本python文件地址:/home/bx_admin/jenkins_work/test/test.py#test.py文件#!/usr/bin/pythonimport osprint(os.getcwd()) #获取当前目录print('-------------start--------------------')print('this is a

2020-09-20 13:38:22 4785

原创 docker的基本概念以及镜像和容器的基本操作

一,Docker 架构概念1,Docker 包括三个基本概念:(1)镜像(Image)Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。(2)容器(Container)镜像(Image)和容器(Container)的关系,【就像是面向对象程序设计中的类和实例一样】,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。(3)仓库(

2020-09-12 21:06:54 378

原创 CentOS下安装docker

一,Docker 架构概念Docker 包括三个基本概念:镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。仓库(Repository):

2020-09-12 19:31:11 160

原创 python函数定义中不要使用可变类型作为默认参数

在Python中当函数被定义时,默认参数只会运算⼀次,⽽不是每次被调⽤时都会重新运算。应该永远不要定义可变类型的默认参数列表和字典都属于可变类型,当作为默认参数时,因为默认参数只会运行一次,所以会在上一次调用的基础上进行处理如:#列表作为默认参数def add_to(num, target=[]): target.append(num) return targetprint(add_to(1))print(add_to(2))print(add_to(3))#输出:[1]

2020-08-30 17:11:47 511

原创 firefox+geckodriver+selenium在centos上运行服务器内存溢出

背景:写的selenium脚本在服务器1上执行正常,因为特殊原因需要迁移到另外一台服务器2上执行,firefox+geckodriver+selenium+python的版本都是一样,脚本也一致,但是在服务器2上执行却发现机器内存一直在减少,直至挂掉使用的环境版本:Python 3.6.7Firefox 68.6.0esrgeckodriver 0.26.0selenium 3.141.0脚本demo:原因:最后排查出原因时因为机器1和机器2的centos的版本不一样,机器1是cento

2020-08-30 15:05:09 638

转载 python之利用Pytest + JSONPath 进行接口响应断言

https://blog.csdn.net/liuchunming033/article/details/106272542

2020-08-30 15:04:25 1036 1

原创 pyhon发送邮件(解决未知发件人以及不展示其它收件人的情况)

为了方面使用直接复制出来了,可以直接使用# coding = utf-8import requestsfrom selenium import webdriverfrom selenium.webdriver.firefox.options import Optionsimport timefrom jinja2 import Environment, FileSystemLoaderimport shutil,osimport smtplibfrom email.mime.text im

2020-08-30 15:01:36 1524

原创 python在linux下执行cmd命令且获取执行结果和执行返回数据

背景:开发使用的是php语言,而自己使用的是python语言,有时候需要借助开发以实现的功能,可以使用python执行php脚本,其中使用到subprocess模块commands.getstatusoutput(command) 返回一个元组(命令执行状态码, 命令执行结果)实现:import getstatusoutputcommond="php /home/q/php/bx2a_core/cli.php test/send_gift 2000003334 2000003333 1000 "

2020-08-02 13:21:53 1309

转载 python之collections

参考链接:https://blog.csdn.net/chenxuan5849/article/details/100792575一,ordereddictOrderedDict类似于正常的词典,只是它记住了元素插入的顺序,当迭代它时,返回它会根据插入的顺序返回。小知识点:from collections import OrderedDict dict1 = dict() # 普通字典dict2 = OrderedDict() # 有序字典1,和正常字典相比,它是”有序”的(插入

2020-07-23 21:32:46 204

原创 postman之测试包含字符串和测试字段是其中之一

1,测试字段值包含某字符串var data = JSON.parse(responseBody);pm.test("测试字段包含某段字符串", function () { pm.expect(data.data.protectResult.members[0].headImg).to.include("https://p6.nicaifu.com/bxpolicyimg");});2,测试字段值是其中一个var data = JSON.parse(responseBody);pm.

2020-07-17 11:23:46 1520

原创 python6_1生成器和迭代器

生成器:(一边循环一边计算)学习地址:https://www.cnblogs.com/wj-1314/p/8490822.html目的:不必创建完整list,节省内存理解:一个函数中只要存在yield就代表不是一个普通函数,而是一个生成器函数每次运行到yield后就会停止运行,等下次再调用时再继续执行yield之后的语句,再循环执行到yield后又停止()当生成器中有返回值语句ret...

2020-07-08 21:54:05 88

原创 Python3中遇到UnicodeEncodeError: ‘ascii’ codec can’t encode characters in ordinal not in range(128)

参考文件后有效解决办法:在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python xx.py参考文件:https://blog.csdn.net/u011415481/article/details/80794567

2020-06-18 11:50:33 156

原创 python之https请求,多个接口公用登录态,session的使用

举例class Check_tfurl(): def __init__(self): '''获取后台接口的投放链接,1页20条''' self.urls=[] self.errors=[] self.ids=[] requests.packages.urllib3.disable_warnings() header = { "Referer": "xxx" }

2020-06-17 16:05:21 892

原创 python-datetime和unix时间戳的相互转换

背景:写脚本查数据库时需要用到时间,库里存的时间格式是“2020-06-17 00:00:00”格式,因为查询需要查x分钟之前的数据,用常规datetime的转换方式在本地是可以实现,但是传到服务器上不能使用不能再linux上使用的情况 db=MyDB() currenttime_before = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) currenttime = (datetime.datetime.now()

2020-06-17 15:59:31 800

原创 postman之在tests断言中使用for循环断言和断言空

1,在使用postman判断过程中,想要实现这么一个场景的判断:因为banner位置的配置是多变的,可以不配置,可以配置一个,也可以配置多个。在接口检测判断过程中想要通过for循环对banner列表中的每个banner信息进行检测,比如检测banner图片和跳转链接不为空。{ "errno": 0, "errmsg": "操作成功", "data": { ...

2020-04-07 16:11:53 5931

原创 linux下执行selenium的自动化脚本,基于firefox火狐浏览器

背景:liunx上装chrome驱动和客户端没能成功,后来安装的是firefox。为了检查后台运营配置的链接是否有问题,写了一个脚本用户检查链接是否能正常打开,其中使用到了selenium安装:linux上下载firefox,下载geckodriver驱动器,存放的路径是/usr/bin/geckodriver在liunx上执行报错:selenium.common.exceptions....

2020-04-02 17:09:22 3030

原创 pytest之常用命令选项

常用命令选项pytest --help 显示全部选项pytest --collect-only 给定配置下显示那些用例会运行pytest -k "asdict or defaults" --collect-only 筛选用例pytest -x 遇到失败后停止测试pytest --tb=no 关闭错误信息回溯argument --tb: (choose from 'short', 'no'...

2020-03-10 16:07:13 1298

原创 pytest之安装和使用插件

安装第三方插件pip可以可以轻松完成安装第三方插件,如果安装了插件,可以pytest自动查找并集成它,则无需激活它。pip install pytest-NAMEpip uninstall pytest-NAME一些流行的插件的注释列表:pytest-django:使用pytest集成为django应用编写测试。pytest-twisted:为扭曲的应用编写测试,启动反应堆并处理从测...

2020-03-10 14:00:17 1414

原创 pytest之缓存测试运行状态

缓存:pytest执行后会自动缓存运行失败等各种结果态的用例--lf, --last-failed 仅重新运行失败的用例--ff,–failed-first 先运行上次失败的用例,然后再运行剩余的其他用例--nf,–new-first选项:首先运行新测试,然后再进行其余测试,在这两种情况下,测试还按文件修改时间排序,最新的文件排在第一位。--cache-show,用来窥视缓存的内容–c...

2020-03-10 12:43:45 1309

原创 pytest之Monkeypatching(猴子补丁)

猴子补丁(monkey patching)理解在运行时动态修改模块、类或函数,通常是添加功能或修正缺陷。猴子补丁在代码运行时(内存中)发挥作用,不会修改源码,因此只对当前运行的程序实例有效。因为猴子补丁破坏了封装,而且容易导致程序与补丁代码的实现细节紧密耦合,所以被视为临时的变通方案,不是集成代码的推荐方式。在Python语言中,monkey patch 指的是对于一个类或者模块所进行的动...

2020-03-10 10:20:59 3301

原创 pytest之assert断言,异常断言

一,pytest的assert断言支持表达式,如== in is等常用断言:pytest里面的断言实际上就是python里面assert的断言方法,常用以下几种:·assert xx 判断xx为真·assert not xx 判断xx不为真·assert a in b 判断b包含a·assert a == b 判断a等于b·assert a >= b 判断a大于等于...

2020-03-08 13:01:12 2038

原创 python之内置函数

divmod(a, b)它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致,分别对应取整数和取余数对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。如:将153拆解a,b=divmod(153,100) #...

2020-03-07 19:51:52 106

原创 Python之容器(Collections)模块

Python附带⼀个模块,它包含许多容器数据类型,名字叫作collections模块我们将讨论的是:counter ,dict的子类,计算可hash的对象;defaultdictdequenamedtupleenum.Enum (包含在Python 3.4以上)Countercollections模块中有一个类Counter,可以支持方便、快速的计数。通过查看源码可以知道Coun...

2020-03-07 15:55:42 168

原创 Git 安装和使用教程

地址:https://www.cnblogs.com/smuxiaolei/p/7484678.htmlGit提交文件到版本库有两步:  第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。  第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。发现添加的内容有误,需要恢复以前的版本,方式有:第一:如果我知道要删掉那些内容的话...

2020-03-02 22:29:38 193

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除