
python
文章平均质量分 58
测试小菜鸡学习python的笔记
Test_the_rookie
文章几乎都是学习笔记,仅做日后复习使用。
展开
-
在Linux服务器上简单部署一个Python项目
以上就是在Linux上简单部署一个python项目的方法。原创 2023-06-29 14:01:58 · 6225 阅读 · 0 评论 -
pytest:灵活替换用例中的变量
这几天在调试之前搭建的pytest框架时,发现原框架对case中的变量进行动态替换的代码不够完美,原代码逻辑会造成代码中会出现大量的if语句,让代码量增加不少,并且后期维护也不方便:case只要新增了一个变量,就需要在通过if语句进行判断,从而实现变量替换。基于我们目前的流程图,我们需要解决的问题是:当需要赋值的变量不是环境变量时,我们需要通过代码将其设置为环境变量,并且去获取到它的值。从上面流程图来看,最初的实现逻辑是将需要替换的变量分为了需要脚本生成和已经存在的变量来区分的。原创 2023-05-30 22:53:19 · 742 阅读 · 0 评论 -
pycharm解决:kex_exchange_identification: read: Connection reset by peer
我在网上查阅到了一个更改本机防火墙端口号的方法,我尝试修改后,但是没有成功!我先把网上的解决方案贴在下方,友友们如果尝试了我的方法不行,可以尝试一下这个方法:https://www.dianjilingqu.com/394069.html或者尝试重新对git重新进行一次配置,网上有人说这个有用,但是我尝试了均无效,配置方法就不多做赘述!这个问题困扰我很久,网上说的方法我尝试了一部分,上面的方法我实操可行,希望可以帮助到各位帅比。好了,废话不多说,在经历过多次折磨之后,我终于摸索出了两个亲测有效的解决方案!原创 2023-03-07 00:05:11 · 1206 阅读 · 0 评论 -
使用Python&mysql完成数据拆分校验
背景:公司迭代了一个需求,会将生产的数据根据指定的维度进行拆分,研发要求测试出一个数据验证脚本,去校验数据拆分的准确性。原数据格式为:注意provider_no、channel_no字段的值,原数据格式为多对多。产品需求为:根据operate_type、msg_type、target_type、provider_no、channel_no五个条件为维度,完成数据的拆分,使其对应字段的值有且只有一个(原本一个配置数据拆分之后,可能会有几十条配置)脚本设计思路1:正向思路:确定开发脚本的拆分方式====原创 2022-12-05 15:51:10 · 676 阅读 · 0 评论 -
利用Python实现mysql数据库的基础操作
b.收集查询结果====>> cur.fetchall (fetchall、fetchone、fetchmany三种方式都可以实现数据收集)except包裹代码块,在没有异常的时候,会正常执行try的语句块,出现异常的时候,可以收集错误原因;a.利用游标调用execute方法,执行指定的语句====>>cur.execute(sql)a.利用游标调用execute方法,执行指定的语句====>>cur.execute(sql)1.封装一个Python类,在该类的init方法中,创建数据库连接对象。原创 2022-10-25 23:23:15 · 1159 阅读 · 0 评论 -
如何在pycharm中使用git
一、环境配置:1.下载安装git,安装成功后,打开git bash here输入以下命令配置基础信息:git config --global user.name “用户名”git config --global user.name “邮箱地址”输入命令:ssh-keygen -t rsa -C "邮箱地址"生成公共密钥2.进入gitee网站,注册一个账号(gitee是国内做的git的托管服务,因为政策原因,在国内不翻墙的情况下,直接访问git很慢。),账号注册成功之后,需要给gitee配置步骤1生原创 2022-05-25 23:23:07 · 5272 阅读 · 0 评论 -
浅谈Python的赋值、深、浅拷贝
一、什么是赋值?在Python中,赋值需要使用运算符“=”,赋值并不会生成一个新的对象。赋值操作是引用了原变量值的地址。当原变量的值发生更改时,赋值变量的值也会同步更改。举个例子:a=5的含义是Python解释器在内存中开辟了一个地址来存储“5”这个值,而a=5实际是变量a在引用该值的地址。这里跟指针很像;b=a,实际上是变量b引用了“5”的地址。a、b变量均指向了同一个地址。附件所示就是赋值变量与原变量指向的地址均一致。补充:使用新变量将对应的值更改后,老变量的值也会随之更改(赋值操作是引用了原创 2022-05-09 23:38:01 · 1989 阅读 · 0 评论 -
Json与dict的区别
一、语言不同:json:是JavaScript的一种数据格式,是字符串dict:是Python的一种数据格式二、语法规则不同:json:1.json键值对使用的引号只能是双引号;2.json的key是有序的、可重复的;3.json的key只能是字符串;4. json的key存在默认值,undefined5. json中的布尔值写法为 true、false6. json中的空值为空时,写法为:null (这里不是指:{“key1”:" “}这样的情况)7. json的value不能直接原创 2022-04-23 23:08:55 · 3598 阅读 · 0 评论 -
Python基础之获取接口入参生成sign
一、背景:在做接口自动化的测试时,有部分接口会要求根据appkey+入参字符串+appkey生成sign,由于项目不同,sign的生成规则也不同,所以我这里侧重点是告诉大家如何获取接口入参,并且将入参按照特定的规则排序,生成压缩后的字符串。二、思路:1. 先获取测试数据...原创 2022-04-23 21:53:00 · 1362 阅读 · 0 评论 -
Python基础之ini配置、yaml配置文件的使用
INI配置文件:一、语法 :[section][options] = value #这里类似键值对,所以key要在同一个section下保持唯一。二、注意事项:1.section不能重复,一个配置文件中不能有重复的section2.options在一个配置文件相同的section下,也不允许重复,不同section下的options可以重复3. 同一个section下的options也不允许重复。4. 写配置文件的注释是 使用 英文状态的;后跟注释语言,注释只能在对应options的顶原创 2022-03-09 23:52:23 · 1454 阅读 · 0 评论 -
unittest使用ddt数据驱动的小demo
一、ddt简介1.ddt是 data driven testing的缩写,中文含义是数据驱动测试。2.ddt通常与unittest组合使用,常用的包有ddt,data,unpack,file_data(我这边使用前两种)二、ddt安装1.在pycharm控制台使用pip install ddt2.进入pycharm的settings----project:--------Interpreter模块,找到pip,进入pip模块,搜索ddt,完成安装三、ddt的使用1.导包:from ddt im原创 2022-03-09 16:06:03 · 1207 阅读 · 0 评论 -
Python基础-迭代器(iterator)&生成器(generator)
迭代器(iterator):一、什么是迭代器:1.迭代器是实现了next()方法的可迭代对象。2.迭代器是一种访问集合元素的一种方式,迭代器有两个基本方法next()、iter()二、迭代器的实现原理:1.基于上一次的执行结果,继续执行,迭代器每次输出的结果,都跟上一次的执行结果关联。2.迭代器会从集合的第一个元素访问,迭代器只能向前访问,不能后退。3.迭代器处理数据时,会采用”流“的形式进行处理。二、什么是可迭代对象(iterable):1. 可迭代对象的特征是有一个“iter”函数。对原创 2022-03-09 10:33:00 · 594 阅读 · 0 评论 -
Python基础操作-自动化中常用的特殊函数(不定时更新)
一、zip函数的作用:zip函数接受一切可迭代的对象作为参数。将对象中的元素一一对应打包。如a=[“姓名”,“年龄”,“性别”],b=[“test”,“24”,“男”],使用zip函数后== > s=zip(a,b) 输出的结果s将会成为[(“姓名”,“test”),(“年龄”,“24”),(“性别”,“男”)]...原创 2022-02-20 21:07:19 · 1241 阅读 · 0 评论 -
unittest框架学习—基础篇
一、untitest框架四大核心:test case(测试用例)、test suite(测试套件,主要用于收集用例)、tes tfixture(测试夹具,主要用于测试方法执行前的前置条件准备和执行后的数据处理)、test runner(用于执行测试)二、常用的收集用例的方法:三、测试夹具简述:四、测试报告...原创 2022-02-20 20:55:20 · 706 阅读 · 0 评论 -
Python装饰器简述
一、什么是装饰器?装饰器本质上也是一个Python函数。装饰器的返回值也是一个函数对象。它可以让其它函数在不改变任何代码的前提下,实现一些定制化的功能。你可以将装饰器函数理解为一个Excel模板,被装饰函数是需要填充的内容,当我们不使用模板的情况下,输入的内容只会按照我们输入的样式展示,当使用模板后,展示相应的内容时,将会以模板的样式呈现。二、装饰器的实现原理Python装饰器是利用了函数特性和闭包实现的。函数特性:1.函数可作为变量传递2.函数可作为参数传递3.函数可以作为返回值4.函数可原创 2022-02-17 13:40:14 · 449 阅读 · 0 评论 -
Python基础之Excel文件操作
思路:导入对应的第三方库——找到想要操作文件的路径——打开excel对象——获取表单对象(excel的sheet页)——通过坐标获取对应的内容。原创 2022-01-24 20:43:28 · 1119 阅读 · 0 评论 -
Python基础操作之类和对象
一、基础概念:类是用来描述具有相同属性和方法的集合,类是抽象的描述。对象是类的实例化。二、类的定义:class 类名三、类的三大特性:封装、继承、多态封装继承多态四、类的初始化方法:init(self)作用:对“对象”进行初始化,赋予对象基础的属性。类似于其它语言中的构造函数,但是Python没有构造函数。注意:该方法不能使用return。五、类常见的三种方法:类方法、实例方法、静态方法六、动态属性设置七、其它注意点:...原创 2022-01-12 22:04:08 · 536 阅读 · 0 评论 -
Python基础之路径操作
一、前置准备获取路径时,需要导入os模块 == > import os二、自动化项目中常用的方法:1. os.getcwd() :获取当前运行文件的路径2. os.path.abspath(file):获取绝对路径3. os.path.dirname(filepath):获取指定filepath的文件夹路径4....原创 2021-11-24 23:48:36 · 1197 阅读 · 0 评论 -
Python基础之文件读写
文件读写原创 2021-11-15 14:12:27 · 414 阅读 · 0 评论 -
Python基础操作之拆包和封包
一、什么是拆包和封包:拆包就是将列表(list)、元组(tuple)、字典(dict)三种类型的元素,全部提炼出来的过程;或者是使用变量去接收函数返回值的过程封包是将多个值赋值给一个变量时,python会自动将这些值封装成元组,这个特性称之为封包;或者函数返回多个值时,也会进行封包二、拆包的注意事项:拆包时,接收返回数据的变量一定要与列表(list)、元组(tuple)、字典(dict)中的元素个数相同,否则会导致程序异常三、常见的拆包方式:使用""号进行拆包:其中需要特别注意的是,字典拆包后,原创 2021-11-14 21:36:08 · 4674 阅读 · 0 评论 -
Python基础之字典的基础操作
一、字典的介绍:1.字典是Python的一种可变数据类型,定义字典使用“{ }”,字典的元素是键值对格式,即 “key:value”,每个元素间使用“,”间隔。创建一个空字典:{ }。2.字典中的key是唯一的,不可变。因此key只有用数字、元组、字符串充当,value可以重复。3.字典中的元素可以是任意对象类型。二、遍历字典中的元素(方法2、方法4在测试工作中使用的多)1.通过key访问:dict[“key1”] = = >可以获取到key1对应的值。2.通过get方法访问:get(原创 2021-11-10 22:24:49 · 2577 阅读 · 0 评论 -
Python基础之元组的基础操作
一、元组的概念:元组(tuple)也是一种序列,它与列表的不同之处在于元组使用的是“()”,列表使用的是“[ ]”,并且元组是不可变的数据类型。二、定义一个元组:a=(1,2,“a”),a就是一个元组,定义一个空元组 a=();注意!如果只想定义只有一个元素的元组时,必须在元素后加上",",否则()会被当做运算符处理 ==> a=(1,)三、元组的基本操作:访问元组中的元素:1.使用索引访问元组中的元素:a=(1,2,3) ==> a[0],也可使用-1开始倒着访问元组的元素2原创 2021-11-09 23:09:45 · 1892 阅读 · 0 评论 -
Python3基础之列表的基础操作
Python的本数据类型有:1.string(字符串):2.list(列表)3.tuple(元组)4.dict (字典)5.set (集合)6.Number(数字)其中不可变的数据类型有:Number、string、tuple 可变的数据类型有:list、dict、set。字符串的常见操作:格式化切片...原创 2021-11-09 13:34:47 · 289 阅读 · 0 评论 -
python基础之字符串
result = str.split(“,”,1) ====>>>>打印结果为:[‘abcqw’, ‘23,123ddd’]使用spilt函数对字符串进行切片,str.split(‘参数1’,参数2),其中参数1填入分隔符,参数2填入想要分割的次数(参数2不填写时,默认为-1,分割所有)result=“姓名:{name},年龄:{old}”.format(name=“tom”,old=“18”) ====>>>>打印结果为:姓名:tom,年龄:18。【ljust】:字符串左对齐(往左补位),有两个参数;原创 2021-11-09 13:17:54 · 985 阅读 · 0 评论