摘要: 解决python项目中循环依赖问题-动态引入 背景:在做客户端性能测试框架过程中需要从统一入口去调用case,统一入口文件中存在公有方法,于是导致A->B->A的循环引入问题 解决:动态引入需要的包 # 在具体的方法中引入包,不在文件开始的地方import 阅读全文
posted @ 2023-05-08 09:44 alisleepy 阅读(131) 评论(0) 推荐(0)
摘要: 开源项目地址:https://github.com/openatx/uiautomator2 介绍: uiautomator2是做安卓自动化框架,内部封装了一系列的操作安卓app的方法 原理: python端: 运行脚本,并向移动设备发送HTTP请求 移动设备:移动设备上运行了封装了uiautoma 阅读全文
posted @ 2023-01-16 23:00 alisleepy 阅读(348) 评论(0) 推荐(0)
摘要: ###gin框架中结合cron实现定时任务执行 背景:一个hr管理系统中,需要每日定时处理员工离职操作,需要每天定时执行删除账号等操作,在这使用定时任务比较方便,比如每天晚21点执行 实现方式如下: 创建定时任务 # 新建Console包,统一管理定时任务 package Console impor 阅读全文
posted @ 2023-01-08 14:03 alisleepy 阅读(2214) 评论(0) 推荐(0)
摘要: 参考地址:https://www.jianshu.com/p/38f48390c538 官方文档:https://github.com/openatx/uiautomator2 阅读全文
posted @ 2022-11-04 20:12 alisleepy 阅读(87) 评论(0) 推荐(0)
摘要: 背景:前一节搭建jenkins并创建了job任务后,用户可以在jenkins平台手动点击构建来执行pytest自动化任务,想实现一个从web界面去触发构建jenkins中的job任务,在这选择使用php来调用jenkins-api去触发构建 安装php-jenkins-api包 # composer 阅读全文
posted @ 2022-10-22 01:41 alisleepy 阅读(260) 评论(0) 推荐(0)
摘要: 背景:jenkins + pytest + allure,产出自动化测试结果 步骤如下: 一、mac安装jenkins 1. 方法一:(不推荐,跳过) 安装tomcat 下载jenkins并放到tomcat的www目录 2. 方法二:brew安装(推荐,简单) # 安装命令: brew instal 阅读全文
posted @ 2022-10-15 18:40 alisleepy 阅读(576) 评论(0) 推荐(0)
摘要: mac升级后,php@7.3环境损坏,提示icu4相关错误解决办法 背景:mac电脑在一次升级后,php环境损坏导致php无法使用,提示如下信息: 具体原因:电脑升级后brew损坏,重新执行过brew相关的升级,包括所有软件包,导致icu4软件升级到最新的71.1版本,php@7.3不可用,和icu 阅读全文
posted @ 2022-10-15 16:08 alisleepy 阅读(1203) 评论(0) 推荐(0)
摘要: php优化 - 防止跨域攻击 解决方案: 验证 HTTP Referer 字段 服务端生成token,下发到客户端,客户端提交后并进行验证 http的header头自定义属性,每次验证header头中的自定义的属性值 阅读全文
posted @ 2022-08-23 01:50 alisleepy 阅读(95) 评论(0) 推荐(0)
摘要: 协议 - tcp和udp的区别 TCP/IP协议: 是一个协议簇。里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。 TCP协议: 可靠的面向连接的协议,收发数据前必须要和对方建立可靠连接 三次握手:建立连接时执行: 第 阅读全文
posted @ 2022-08-23 01:39 alisleepy 阅读(91) 评论(0) 推荐(0)
摘要: 数据库 - db和redis数据一致性问题 直接说解决办法: 查询数据操作: 查询缓存,如果命中,直接返回;如果没有命中,查询数据库,再写入缓存 更新数据操作: 直接更新db数据库 然后删除缓存 删除数据操作: 先删除数据库 再删除缓存(设置超时,保证后期缓存肯定会消失) 阅读全文
posted @ 2022-08-23 01:22 alisleepy 阅读(57) 评论(0) 推荐(0)
摘要: CGI:通信网关协议 CGI协议:动态语言的代码文件需要对应的语言解释器才能被服务器识别,CGI协议就是用来使得解释器与服务器之间互相通信 请求链路: 1、客户端输入ur 2、解析到服务器IP 3、请求发送到Web服务器(nginx) 4、Nginx收到请求,通过fast-cgi协议,将请求数据发送 阅读全文
posted @ 2022-08-21 23:06 alisleepy 阅读(952) 评论(0) 推荐(0)
摘要: 几种合并数组方法如下: 使用+号合并数组结果: 键名相同时,前边的键值覆盖后边的键值 array_merge()方法: 键名相同时,后边的键值覆盖前边的键值 array_merge_recursive()方法: 键名相同时,相同键名的键值组成一个新的数组,最后结果就是二维数组 array_combi 阅读全文
posted @ 2022-08-21 18:27 alisleepy 阅读(4919) 评论(0) 推荐(0)
摘要: 定时任务-crontab简单用法 crotab定时任务: 在服务器上设置定时器,来执行特定的任务脚本,比如php XXX或者 python XXX,或者 go run *** crontab基本用法: - crontab时间设置: # 5个时间表示:分别为以下 * * * *:表示:分、时、日、月、 阅读全文
posted @ 2022-08-21 01:11 alisleepy 阅读(533) 评论(0) 推荐(0)
摘要: 通过supervisor管理laravel队列任务守护进程 背景:laravel队列,在调试使用时可以使用php artisan queue:work来启用队列,但是实际项目部署后,需要通过守护进程一直启动队列,在这使用 supervisor 来管理laravel队列守护进程,并且可以自动重启队列 阅读全文
posted @ 2022-08-20 18:35 alisleepy 阅读(926) 评论(0) 推荐(0)
摘要: go基础 - WaitGroup用法 package main import ( "fmt" "sync" "time" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8/15 - 23:33 * D 阅读全文
posted @ 2022-08-16 00:03 alisleepy 阅读(75) 评论(0) 推荐(0)
摘要: docker基础命令 - 镜像/容器 docker version:查看版本 docker info:查看docker系统信息,包括镜像和容器数量 docker —help:查看帮助命令 镜像命令: docker images:查看镜像列表 docker images -a:查看所有 docker 阅读全文
posted @ 2022-08-06 22:58 alisleepy 阅读(121) 评论(0) 推荐(0)
摘要: go学习 - 字符串翻转 代码如下,比较low,但能实现: package go_test_test import ( "fmt" "testing" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8 阅读全文
posted @ 2022-08-05 01:01 alisleepy 阅读(344) 评论(0) 推荐(0)
摘要: mysql8修改root密码 背景:修改mysql密码,按照之前的password函数一直失败,查资料后发现mysql8不支持password函数 mysql8修改密码如下: // 修改root的密码为 123456 ALTER USER 'root'@'localhost' IDENTIFIED 阅读全文
posted @ 2022-07-11 11:14 alisleepy 阅读(897) 评论(0) 推荐(0)
摘要: 【go-基础】interface转string:fmt.Sprintf("%v", value) 背景:在做一个查询时,请求参数为map格式,value值为interface,根据不同的key需要做不同的查询,在模糊查询时value需要拼接 %val%号,简单记录 代码如下: var test in 阅读全文
posted @ 2022-06-20 00:16 alisleepy 阅读(2751) 评论(0) 推荐(0)
摘要: 循环结构体,修改结构体中某个字段的值 背景:使用go获取部门列表后,需要修改其中的一个字段的值,将level = 2 修改为 level = “二级部门” 错误方法1:结构体转json后,不行 for _, item := range departments { item.Level = "二级部门 阅读全文
posted @ 2022-04-05 14:17 alisleepy 阅读(557) 评论(0) 推荐(0)
摘要: Linux查看当前目录下(包含子目录)文件名中包含指定字符的文件 # 查看当前目录(包含子目录)下文件名中带有 .mid 的文件 find . -type f -name "*.mid* # 查看当前目录(包含子目录)下文件名中带有 .mid 的文件,并列出个数 find . -type f -na 阅读全文
posted @ 2022-03-14 16:57 alisleepy 阅读(1694) 评论(0) 推荐(0)
摘要: flask的部署:gunicorn + supervisor + flask 背景:使用flask部署了一个发送请求的小工具给RD使用,部署在开发机上,但是提供外部使用时不太适合使用flask自带的web服务器,在这采用gunicorn + supervisor + flask这个组合 工具作用: 阅读全文
posted @ 2022-02-24 13:11 alisleepy 阅读(528) 评论(0) 推荐(0)
摘要: python解析pb二进制文件,写入明文文本 背景: 在项目中需要解析pb二进制文件,转为明文,写入txt文本中保存,同时转为由分隔符进行分隔的行列式结构,在这记录一下这个过程,以下列出了两种方法:方法二存在bytes解析失败的问题,采取方法一: 主要由以下四步组成: 1、二进制数据反序列化 2、反 阅读全文
posted @ 2022-02-08 14:55 alisleepy 阅读(3308) 评论(0) 推荐(0)
摘要: # python打印当前行数 print '当前行数:' + str(sys._getframe().f_lineno) 阅读全文
posted @ 2022-02-07 11:40 alisleepy 阅读(1161) 评论(0) 推荐(0)
摘要: shell获取文件名中包含特定字符的文件个数 背景:统计自动化case中文件名包含'P0_'的文件个数,在这记录一下 # 命令 ll caseDir | grep -c P0_ # ll列出文件下的文件,管道给 grep ,核心的 -c参数,获取个数 阅读全文
posted @ 2022-01-29 10:33 alisleepy 阅读(710) 评论(0) 推荐(0)