自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 环境问题,报错/usr/lib/XXX.dylib no such file文件不存在解决方式

usr/local/Cellar/postgresql@14/14.7/lib/postgresql@14/目录中的lib文件全部都拖动到。3、数据库navicat报错,报错/usr/local/lib中没有XXX.dylib文件。环境问题,报错/usr/lib/XXX.dylib文件不存在解决方式。/usr/local/lib中。重新安装pip安装对应的文件。2、python报错。

2023-04-13 12:05:40 2325

原创 读书:怪诞脑科学(Kluge:克鲁机)

工程上,克鲁机的意思就是由互不搭配的零件拼凑起来的糟糕系统。(1)我们的进化身体是克鲁机,我们的身体比如:脊椎由于进化只是一个支撑,效果并不好。还有眼睛看到的世界也有缺陷。还有很多是进化过程中并不需要的内容...这个需要我们锻炼身体,饮食规律一些(2)我们的记忆是克鲁机,他不是类似计算机会把所有信息存储起来。而是根据索引、环境提示等相关联的时候唤醒脑细胞的内容。所以我们会发现几个现象:家里水没有了,只有走到家里才会想起来下雨带伞放入空地上,只有在桌子上看到了雨伞的套才能想起来很多时候我们是习惯

2021-09-08 09:54:05 1037

原创 python3中文打印出来乱码\u5f85\u5ba1\u6838

1、字典转换为json格式的时候,输出的内容是\u72b6\u6001dict1 = {"状态": "待审核"}print(json.dumps(dict1))2、解决json.dumps(dict1, ensure_ascii=False)

2021-08-13 09:33:02 2227

原创 python3使用draw.text画图,解决python3中的truetype乱码

背景:我们在做UI自动化截图的时候,为了方便,截图中记录一些文本内容一、处理用到的类:Image+ImageDraw+ImageFont二、对应的方法:1、打开图片Image.open()2、找到画笔ImageDraw.Draw(image)3、加载并创建字体对象ImageFont.truetype(),乱码就在这一步。路径和对应的编码格式4、文本画入到图片draw.text5、保存图片对象image.save()image_path="picture/web...

2021-08-11 12:11:23 5557

原创 管理学习笔记

周末看材料我明白了一个道理,也不知道对错总体来说,管理只对绩效负责因为现实中德才兼备的很少,能级原理(彼得原理)——人一定能提拔到他不能胜任的岗位之后不再提拔有态度没有能力做支撑最终是等于没有发挥出绩效(态度转化为能力,才有用),反过来只有能力没有道德,破坏性更强。所以我认为这是一个比较优的解:关于p级倾向以能力/实力(对应的是测试技术和测试技巧),这个其实是好评价的,也是需要表扬、评优提拔人倾向以态度/道德(对应的是平时的表现和对于事情的态度),这个不是很好评估https://ba

2021-08-09 10:23:23 93

原创 小狗钱钱读书笔记

小狗钱钱1、你是不是真的买得起这张CD!一个人能否安排好自己的花费,是在他人 生的早期就决定了的。

2021-08-06 16:39:42 309

原创 Django框架的访问流程

1、输入地址(http://127.0.0.1:8000/bar/track/)根据bar去找初始化urls中的值,去找引入的值url(r'^bar/', include('bar.urls'))2、找到bar下面的urls.py文件其中有:url(r'^track/$', ft_view.TrackView.as_view(), name='track'),根据track识别到,然后跳转到TrackView中3、再对应的view中找到请求的路径,访问静态文件等Http

2021-08-03 15:18:28 208

原创 mac系统navicat提示无法打开,显示已损坏

1、打开navicat.dmg文件,在mac上安装好允许隐私里面的未知源,可以访问mac有一个通用解决的方法: sudo spctl --master-disablehttps://blog.csdn.net/tchtest/article/details/1189694462、

2021-07-21 16:23:11 2991

原创 常用的mac系统知识

1、mac删除启动台中的图标进入到该目录/private/var/folders/nm/hws3438j31xg87tn0by3w5280000gn/0/com.apple.dock.launchpad/db执行语句:sqlite3 db "delete from apps where title='Aria2GUI';"&&killall DockAria2GUI是软件名称,区分大小写2、mac允许未知来源安装sudo spctl --master-disable输

2021-07-21 16:19:46 588

原创 kubernetes(k8s)基础

一、Nodes一个Pod总是在一个(Node)节点上运行,Node是Kubernetes中的工作节点,可以是虚拟机或物理机。每个Node由 Master管理,Node上可以有多个pod,Kubernetes Master会自动处理群集中Node的pod调度,同时Master的自动调度会考虑每个Node上的可用资源。每个Kubernetes Node上至少运行着:Kubelet,管理Kubernetes Master和Node之间的通信; 管理机器上运行的Pods和containers容器。c

2021-07-13 15:55:49 145

原创 浅谈Redis

一、什么是RedisRedis是一个key-value存储系统,现在在各种系统中的使用越来越多,大部分情况下是因为其高性能的特性,被当做缓存使用,这里介绍下Redis经常遇到的使用场景二、Redis特性读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式三、Redis应用场景1.缓存缓存是Redis最常见的应用场景,之所有这么使用,主要是因为Redis读写性能优异。而且逐渐有取代memcached,成为首选服务端缓存的组件。而且,Redis内部是支持事

2021-07-13 15:10:50 78

原创 系统安全测试方案

测试目标发现系统存在的安全隐患发现系统设计缺陷:权限控制,数据加密,数据导出等。测试范围测试的系统:1 2 3测试内容系统设计方案review,开放性测试(adhoc)安全扫描:扫描工具-kaliweb服务器安全漏洞 web服务器错误配置 SQL注入 XSS(跨站脚本攻击) CRLF注入 目录遍历 权限认证 字典遍历常见场景(持续补充):1、仅前端控制权限,后端无限制 exa. 当前登录用户的session,请求权限内的资源ok,更改l...

2021-07-13 15:05:23 1703

原创 python多线程与GIL的关系--接口测试

1、GIL只支持单线程,而python支持多线程,这两者究竟是什么关系呢?GIL的存在与Python支持多线程并不矛盾:GIL是同一时刻,只有一个线程运行Python的多线程,是指多个线程交替执行,造成一个“伪并行”的结果,具体到某一时刻,仍然只有一个线程在运行,并不是真正的多线程并行。接口测试的时候,多线程并不影响的,当我们线程1请求接口1的时候这时候等待程序响应,此时线程2开始执行请求接口2的请求,交替进行,通过时间片的切换完成剩余的操作。站在用户角度看到的就是我们所说的多线程2

2021-07-13 11:28:31 145

原创 XPATH定位的一般使用方法

一、Xpath定位表达式的二种写法:绝对定位:以“/”开头,相对的是Dom文档的根节点。如,“/html/body/div[2]/div/…”,由于绝对路径不可靠,在页面改动的时候很容易使定位信息失效,所以不建议使用。在定位信息不好选,而需要做调试的时候可以作为临时定位方式相对定位:以“//”开头,相对的是当前的Dom文档,也可以是相对于当前所选取的节点对象。如,//*[@class=’hello’], 表示匹配当前Dom文档对象中所有class=’hello’的节点对象,或“//div[@clas

2021-07-12 18:13:17 3886

原创 selenium UI自动化三大类:Driver、Element、By

1、Driver浏览器驱动类,可以理解成一个浏览器,常用的Chome/Firefox实例化成对象:from selenium.webdriver.chrome.webdriver import WebDriverfrom selenium.webdriver.chrome.options import Options__options = Options()__options.add_argument('--headless')driver = WebChrome(chrome_op.

2021-07-12 14:06:22 582

原创 python中*args与**kwargs,与find_element封装的方法

1、*代表什么(1)字符串>>> s1 = "123">>> print(*s1)1 2 3# 结果是把s1字符串拆开(2)列表或元组>>> l1 = ["1s", 2, 3]>>> print(*l1)1s 2 3 # 把字符串的每一个元素拆出来结论:可以看到*是用来拆分一个集合中2、*接收参数定义两个对比一下,可以看到接收的时候把多个参数给拼接起来变成一个元组,当你传元组的时候会拼接成一个大.

2021-07-12 12:27:33 409

原创 selenium UI自动化常见的找不到元素问题

selenium找元素,经常找不到元素报错:NoSuchElementException初学者常见的1、打开了新的标签页面switch_to_window()(1)原因在代码中很多哥标签页是window(窗口),我们在执行drvier.close()的时候其实就是关闭一个窗口由于有些按钮打开的是新的窗口,而代码此时还在上一个窗口中执行,所以需要切换一下(2)解决用法:handles = driver.window_handles # 获取dirver的handles属..

2021-07-12 11:59:07 1275

原创 selenium定位分享

1、selenium查找元素定位有两种形式:find_element(By.XPATH, "//xpath定位")、find_element_by_xpath("//xpath定位")2、一般来说selenium的定位优先顺序find_element_by_link_text > find_element_by_partial_link_text > find_element_by_id > find_element_by_class_name > find_e...

2021-07-12 11:36:43 118

原创 pytest知识

1、pytest -h查看帮助 -m后面跟标签名(标签在用例上pytest.make.p1)-k 关键字(方法名包括什么)2、setUp_class一个类只运行一次,所以接口自动化可以用来初始化session_idteardownsetUp3、@pytest.fixture可以有auto自动装填执行类似setUp teardown,更方便的控制了sessionyild与return区别,一个返回值后可以接着执行,另一个返回后面的代码不执行4、parameteriz

2021-07-12 11:10:00 103

原创 gitlab

1、CI/CD中的配置是在.gitlab-ci.yml 文件中配置deploy_publish_job可以执行的操作(在CI中)

2021-07-12 11:07:49 48

原创 cookie、session、token的区别----接口测试(python)中的jwt key 部分Django源码分析

1、Cookiecookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。2、Sessionsession 从字面上讲,就是会话。这个就

2021-07-09 22:58:01 396

原创 测试写自动化监控脚本用到的linux命令

1、curl发请求-X POST:请求方法-d ‘username=changhe’:数据体,传入的参数2、a="test1":给a变量赋值$#:除了当前文件外的命令参数个数(执行脚步后的参数个数)$0:当前可执行文件$1:后面跟的第一个手机号执行的命令结果放到变量中cons=`docker ps | awk '{print $1}' | grep -v CONTAINER`echo $cons | xargs docker stop:执行多行命令参数放在最后3、sed -n:只输

2021-07-08 16:55:13 92

原创 python高级知识

1、取列表中字典的值再重新组合成列表show_list是一个列表,列表中有字典show_list_id = [item["id"] for item in show_list] # 取列表中id2、if语句一句话:如果满足条件结果是if前面内容,如果不满足else后面的结果response if intercept_func is None else intercept_func(response, locals().get('resp_to_json', None))3、locals().g

2021-07-08 16:53:29 89

原创 Linux笔记整理

一、Linux基础命令1.pwd:显示工作路径绝对路径即从根目录(/)开始的路径,相对路径即从当前目录开始的路径。2.mkdir –p :创建多级目录。3.touch:创建文件。4.rmdir:只能删除空文件夹。5.cp:移动rm:删除通用的两个参数 -r文件夹-f强制。6.cat:查看文件内容。more:分页查看空格下一页b上一页。7.ping:-c完成次数(回应)-i每次测试间隔时间(单位:秒)。8.tar:-czvf 压缩后文...

2021-07-08 16:04:56 32

原创 Linux上安装mysql

安装步骤(注释是关键)1、下载:地址https://dev.mysql.com/downloads/mysql/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz,如果用ftp下载记得转换成bin模式然后mget2、解压:tar -xzvf mysql...3、重命名为mysql4、rpm -q libaio看是否安装了libaio,如果安装了不用再次安装安装方法:yum -y install libaio5、创建mysql组和用户,一般建my

2021-07-08 16:01:19 46

原创 Android开发知识(笔记)

5月31号adb命令及基本的Android开发知识1、adb命令:安卓调试桥adb devices:查看连接的手机设备adb kill-server:杀死adb调试桥adb start-server:启动adb的调试桥adb install 包名:安装软件adb uninstall 包名:卸载软件adb help:最好不要说adb version:看版本adb reboot:重启adb shell wm size:查看分辨率adb logcat:查看日志2、安卓

2021-07-08 15:49:25 419

原创 Loadrunner买票流程记录(附视频)

Loadrunner登录、买票、删除票附录中有代码1、登录session关联、参数化关联:(1)找到登录接口,并分析需要用的参数(2)找到需要参数在之前步骤出现的位置,从前到后找关联userSession出现的位置(3)在出现位置之前提取参数,左右边界以及转义。web_reg_save_param("userSession","LB=userSession\"value=\"","RB=\"/>",LAST...

2021-07-08 15:46:46 288

原创 python基础(对应视频)----测试

第一节基本语法1.打印语句:print(常量) 或者print(变量名)2.注释符号:# 注释多行快捷键:ctrl+/3.变量的类型:查看变量类型 print(type(变量名))基本类型:整型:int直接是数字浮点型:float小数字符串型:str 赋值的时候可以用双引号或单引号或三引号布尔型:bool 只有两个值:True 或 False特有类型:元组:小括号列表:中括号字典:大括号-key value:键和值对应关系4.变量的命名规则:...

2021-07-08 15:40:34 192

原创 qq农场脚本演示

from selenium import webdriver# 引包from selenium.webdriver.common.by import Byfrom time import sleepimport sys#两种方式# 1、在python运行时加入环境变量,在引用前(常用)# 2、直接加入系统pathsys.path.append("D:/python_jiaoben/testPython")from selenium流水作业.password import password#

2021-07-08 15:30:31 1500

原创 appium环境搭建(视频附)

qq:1360452052可以要资源1、安装jdk、AndroidSDK-->有包直接配置环境变量(tools、platform-tools)验证是否成功:java -version、javac -version,adb devices2、安装node.js验证是否安装成功node --version3、安装appium包:一直下一步下一步4、安装python的appium库:pip install appium5、把APP安装上,查看包名和元素定位点6、打开appiu

2021-07-08 15:29:13 66

原创 protobuf几个步骤

(1)定义消息创建test_protobuf.proto文件syntax = "proto2";// 有版本2和版本3,版本3下面不需要required和optionalpackage test_protobuf;//文件名称message helloworld{required int32 id = 1;required string str = 2;optional int32 w...

2021-07-08 15:24:16 337

空空如也

空空如也

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

TA关注的人

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