- 博客(56)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决python引模块因为路径而无法引入的问题.
for root, dirs, files in os.walk(os.getcwd()): # 分别代表根目录、文件夹、文件。#将 ps.py模块保存并,把它放到 自己安装Python310路径下的Lib文件夹。# 以后再任意模块前引入即可 该模块即可。
2022-10-09 19:54:24
1930
原创 自动生成正交表测试用例PICT
三个过滤条件,条件下有多个子条件。同时对于查询出来的结果,还可以进行不同类别的排序,如按时间,地点,次数等多个排序条件。PICT,全称是Pairwise Independent Combinatorial Testing tool,是一个免费的小工具。执行命令,这个不会生成文件,所以应该让用例生成到一个文件,使用下面的命令。PICT接收一个纯文本的Model文件作为输入,然后输出测试用例集合。用冒号隔开输入条件和参数,每行一个输入条件,参数之间用逗号隔开。当一个接口涉及到多重条件查询,比如。
2022-10-11 20:24:11
1072
1
原创 HTTP响应状态码
服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。服务器告诉客户,原来缓冲的文档还可以继续使用。文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。浏览器应该继续显示原来的文档。服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。如果无此内容,服务器不会接受请求。由于所请求的实体的太大,服务器不会接受请求。由于媒介类型不被支持,服务器不会接受请求。供处理的请求已被接受,但是处理未完成。服务器不支持所请求的功能。请求被创建完成,同时新的资源被创建。
2022-10-09 15:28:18
801
原创 自动化测试笔记(selenium+pytest+Allure)
visibility_of_all_elements_located():判断多个元素是否出现且元素为非隐藏且宽和高不为0的元素,传参为元组,例(By.ID,"ID值"),返回值为定位到的元素组成的列表。visibility_of_element_located():判断某个元素是否出现且元素为非隐藏且宽和高不为0的元素,传参为元组,例(By.ID,"ID值"),返回值为定位到的元素。下载地址: https://github.com/mozilla/geckodriver/releases。
2022-10-09 15:26:12
2357
原创 docker搭建gitlab
v,--volume: 映射目录(卷),宿主目录:容器内部目录,常用来将配置文件或者是数据文件放在宿主机器上。--rm:指定容器停止后自动删除容器(不支持以docker run -d 后天启动的容器),默认为 false.--privileged:指定容器是否为特权容器,特权容器拥有所有的权限,默认为 false。-d, --detach: 指定容器在后台运行,默认为 false。-p,--publish:指定容器暴露的端口,宿主端口:容器内部端口。-i:以交互模式运行容器,通常与 -t 同时使用;
2022-10-09 14:45:21
3634
1
原创 mysql密码忘记如何操作
Linux下mysql登录密码忘记,需要修改配置文件,跳过密码验证,这样登录的时候,不同输入密码,直接回车即可登录,然后重置密码,设置完成后,退出mysql, 然后将配置文件中跳过密码的代码删除,保存退出,重启mysql服务。注意:此方法对离线安装比较适用,如果要修改在线安装版本的配置文件,可能路径不一样,但是修改操作的代码是一样的。服务,然后再次登录,这时候不需要密码,可以直接空格登录。中设置了取消密码验证,所以此处密码任意)4、重启mysql 服务,然后登录。重启mysql 服务,然后登录。
2022-10-09 14:41:27
685
原创 navicat12连接linux远程服务器
systemctl disable firewalld.service #禁止防火墙开机启动。记得结束加英文的;
2022-10-09 14:38:22
156
原创 mysql插入数据中文显示乱码问题
问题二:客户端中文显示乱码,彻底解决问题,需要修改的表名位于哪个数据库下。问题一:中文信息无法插入。退出客户端,重新连接即可。将数据库的编码转换成。
2022-10-09 14:37:17
949
原创 Linux下搭建MongoDB环境
通过上面的MongoDB安装,我们已经将其安装成功并且启动,但是发现启动太过于麻烦,所以需要我们自己给MongoDB配置配置文件,因MongoDB开发者没有配置样例,所以需要我们自己去创建并且写入内容。f 添加完成之后,启动mongoDB,验证是否安装成功,这里指定的数据库目录选项为mongodb下创建的db,命令如下,如图所示,则提示启动成功。不要把启动页面关闭。打开编辑器之后将如下图所示的内容写入到编辑器中,保证是正确的,如果你的安装地址和我的不一致,则需要自己修改路径,编辑完成之后保存。
2022-10-09 14:36:12
1788
原创 Mongodb(学习总结)
NoSQL 的概念:指的是非关系型数据库。NOT only sql 的缩写。特别适用于大规模的数据存储。例如:谷歌或者facebook 每天为用户收集亿万级别的数据,这些数据类型不需要固定的格式,无需多余的操作就可以进行横向扩展。什么是mongodb?是C++语言开发,性能比较好,可以为web应用提供扩展的高性能数据存储解决方案。
2022-10-09 14:34:47
1351
原创 接口自动化测试笔记(requests)
当接口是一个ajax异步请求时,需要在发起requests请求时,在请求的header中带上参数X-Requested-With:XMLHttpRequest模拟ajax请求,这样接口才会返回json().session():session()不是http协议中的session,requests库下的session()是一个微型的无界面的浏览器,3、cookie在响应的header中,可以通过r.cookies获取,得到的cookie是jar格式,可以使用dict函数转为字典。
2022-10-09 14:33:19
1092
原创 jenkins安装allure插件并发送邮件
1)指定工作空间(jenkins默认allure 报告json文件目录和html报告目录必须设置在该工作工具目录下,该工作空间指定后,pytest.ini文件中的allure报告生成路径必须指定到该工作空间目录下)系统allure测试报告:${PROJECT_URL}${BUILD_NUMBER}/allure以下是Jenkins自动发送的邮件,请勿回复!
2022-10-08 13:54:04
1654
原创 Jenkins定时规则
5.设置完成后,构建任务就会按照我们设置的时间定时执行了。3.填写定时规则(这里设置每隔30分钟执行一次)1.点击工程(Test1), 选择左侧的配置。2.选择”构建触发器“下面的”定时构建“
2022-10-08 13:52:34
1153
原创 jenkins_控制节点机执行脚本配置
将下载下的slave-agent.jnlp文件,发送到节点机上。在节点机上双击启动执行slave-agent.jnlp文件,启动后出现下图说明节点机连接正常。添加节点机的环境变量:Name填写path ,Value填写节点机上python的安装路径及浏览器驱动文件的存放路径。Usage:控制节点机的任务执行,选择红框内选项。红框内选项表示只有指定到该节点机的任务才能在该节点机执行。Remote root directory :填写节点机上的任意目录,该目录必须存在。保存,完成节点机添加。
2022-10-08 13:50:56
207
原创 jenkins+git持续集成配置
设置任务的Poll SCM(定时检查源码变更),实现定时监控gitlib变化,只要有更新就会任务就会自动执行,实现持续构建。点击下方的Install without Restart安装插件。Kind选择Username with password。二、在jenkins中配置Git.exe的位置。在Available tab页中找到Git。在新建任务时添加持续集成项目的url。Username输入git的账号。Password输入git的密码。点击Add—Jenkins。
2022-10-08 13:49:19
1281
原创 Linux系统性能监控工具nmon
M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。如上配置后,如果使用该命令需要找到该命令的详细路径才能使用,这样不是很方便,所以我们需要将nmon的命令添加到系统环境变量中去,以方便我们可以在任何地方都可以使用该命令。-m 指定监控文件的存放目录,-m后跟指定目录 //如果不指定目录会在该命令的源目录下生成相应的监控文件。
2022-10-08 13:45:16
1711
原创 Python基础知识25(# # mysql 操作)
conn.commit() #别忘了 commit。# # 链接mysql。# 创建 cursor。# mysql 操作。
2022-09-28 18:47:42
794
原创 Python基础知识24(# # 日志 操作)
logger.info("遇见你,这是一个错误")# 创建 一个 formatter 格式对象。# 日志对象可以有多个handler。# 创建一个handler 对象。
2022-09-28 18:45:53
638
原创 Python基础知识23(# # excel 的操作)
遍历 每个坐标, 取到值, 然后添加到 datalist。# print(f"行数: {rows}, 列数: {cols}")# wk.save(filepath) #编辑后记得保存。# 编辑 excel 的 demo , 以后用的时候再封装一下。# 获取单元格(5, 1)的 值。# 定义一个新的 列表。# 写数据到对应的单元格。# 获取表的 最大行。# 获取表的 最大列。# excel 的操作。
2022-09-28 18:45:06
761
原创 Python基础知识22(# # yaml 文件处理)
其中,YMAL文件是最长使用的配置文件类型之一,相比较ini,conf配置文件来说,# 比如测试环境, 数据库信息, 账号信息,日志格式,日志报告的名称等等。# YAML 是一种灵活的数据格式,支持注释,换行符,多行字符串等。# 在自动化测试过程中,我们很多地方都需要使用配置文件来存储数据。# 它更加简洁,操作更加简单,同时还能存放不同的数据类型。# 缩进使用空格,相同的层级元素左对齐即可。# 纯量, 字符串 , bool。# 写 yaml 文件。
2022-09-28 18:44:13
788
原创 Python基础知识21(# # 操作 ini文件)
获取所有 value [(),()]# ini文件 的节点不能重复。# 获取某个选项的 value。# 给某个节点添加选项和选项值。# 注释 是前面一个;# ini 文件的读取。
2022-09-28 18:43:10
790
原创 Python基础知识20(# # 文件操作)
f = open("02_test1.txt", "w", encoding="utf-8") # file 文件对象。# f = open("02_test.txt", "r+", encoding="utf-8") # file 文件对象。# f = open("02_test.txt", "w+", encoding="utf-8") # file 文件对象。# f = open("02_test.txt", "r", encoding="utf-8") # file 文件对象。
2022-09-28 18:42:00
158
原创 Python基础知识19(# # _实例变量和类变量 )
def static_mtd(): # 静态方法 , 不会注入任何东西,实例和类都可以调用。@classmethod #类方法。
2022-09-28 17:33:49
119
原创 Python基础知识18(# # _实例变量和类变量 )
print(kervin.__class__.__dict__) # 通过实例 去拿到 类的字典。self.name = name # 实例变量。# 实例变量是每一个实例自己的变量,自己独有。# python 的 类, 玩的就是字典。# 类变量是所有实例共享的属性和方法。age = 3 #类变量。
2022-09-28 17:33:06
697
原创 Python基础知识17(# # 面向对象 OOP )
def showme(self): # self 是整个类的实例 . showme 是实例方法。# 做一件事情,排出步骤, 第一干什么,第二部干什么,如果出现问题A,做什么处理,如果出现B做什么处理。# tom = Person() # 每次实例化后获得的实例,都是不同的实例。# 类是抽象的概念,是万事万物的抽象。
2022-09-27 16:54:30
645
原创 Python基础知识16(# # 带参装饰器)
引出带参装饰器 wrapper = copy_properties(fn)(wrapper) # add(x,y) ==> add(x)(y) 柯里化。ret = fn(*arg,**kwargs) # 意思就是把参数 原封不动的传递给fn, 二传手。@logger #装饰器 my_sum = logger(my_sum) =》wrapper。# print("调用前的增强功能")# print("调用后的增强功能")return wrapper #包裹。
2022-09-27 16:46:05
604
原创 Python基础知识15(# # 装饰器)
ret = fn(*arg,**kwargs) # 意思就是把参数 原封不动的传递给fn, 二传手。# ret = fn(*arg,**kwargs) # 意思就是把参数 原封不动的传递给fn, 二传手。# ret = fn(*arg,**kwargs) # 意思就是把参数 原封不动的传递给fn, 二传手。# ret = fn(*arg,**kwargs) # 意思就是把参数 原封不动的传递给fn, 二传手。
2022-09-27 16:42:41
166
原创 Python基础知识14(# 生成器 generator)
print(id(g), id(f)) # 垃圾回收机制 1,某个变量的引用计数为0的化,就可以进行垃圾回收(回收这个变量的内存),# 2, 如果程序执行完毕,所有的变量,函数,类。# 一个函数体中 只要包含 yield 语句, 它就是一个生成器函数。yield i # 碰见 yield 会暂停函数, 把后面的值返回。# 生成器指的是生成器对象, 可以由生成器表达式得到,或者由生成器函数得到。# 生成器对象, 是一个可迭代对象, 是一个迭代器。# 生成器对象是延迟计算, 惰性求值。
2022-09-27 16:39:48
170
原创 Python基础知识14(# _iterator-可迭代对象)
l = list(zip(range(5),range(2),range(5))) #拉链函数 zip #木桶原理。# list , tuple, string, range, set, dict..... 生成器, 迭代器。# l = list(zip(range(5),range(5),range(5))) #拉链函数 zip。dict1 = {k:v for k,v in zip('abcde', range(3))} # 解构。# 特殊的对象, 一定是可迭代对象, 具备可迭代对象的特征。
2022-09-27 16:38:50
93
原创 Python基础知识12(# 作用域 )
a = 1000 #向内穿透的机制 #**************************************# for i in range(10): #全局作用域 i 不要以为i 只作用域 :后面,它是个全局变量。# ------------柯里化---------------------# a = 99 # a 的作用域 为全局作用域。# # b = 10 #局部作用域。# # b = 10 #局部作用域。# b = 10 #局部作用域。
2022-09-27 16:24:41
661
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人