自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

原创 用例找到请求超时的接口

用例找到请求超时的接口

2024-03-07 17:49:34 377

原创 python-连接mongodb报pymongo.errors.OperationFailure: Authentication failed.

client直接连接mongodb中自己的业务db报错pymongo.errors.OperationFailure: Authentication failed.先用密码连接mongo的默认admin库,然后再连接自己的库就可以连接成功访问数据啦。

2023-03-08 09:28:36 812 1

原创 读书笔记《30岁前的每一天》

在我找工作的灰暗时期读了这本书,水湄物语的《30岁前的每一天》水湄物语是之前关注的长投的创始人,当时被长投清新易懂的理财课程吸引,也参与了他们的长投课堂,上次在图书馆意外发现了水湄物语的《30岁前的每一天》这本书,就借回家了,没想到是这本书陪我度过了找工作期间的忐忑时期,自己认真的读书,做笔记,和自己的内心对话,渐渐地自己的等待期也不会那么焦虑。现在工作基本已经安定,把之前写在本子上的读后感挪过来。希望自己以后迷茫、焦虑的时候能看到这篇笔记,想起自己当时的心境,帮助自己走出阴霾。

2023-03-07 09:47:31 465

原创 【数据库】数据库的慢查询问题

现象: 在压测过程中发现接口返回数据非常慢,甚至超时,页面加载不出数据问题定位:如果有慢查询怎么恢复?当前系统压测时发现有慢查询,怎么确定系统慢查询的语句是什么?已知某条sql语句可能会有慢查询,怎么确定这个sql的问题?为什么会出现慢查询?

2022-12-06 15:54:19 941

原创 【数据库】mysql索引

如果表创建了索引,那么DB会维护一张关于索引和主键关系的表好处:快速查找数据缺点:要额外维护一张表,会额外占用空间,对于表数据的更新操作都涉及更新索引创建索引:CREATE [UNIQUE] INDEX indexName ON myTable (columnName(length));增加 索引:ALTER myTable Add [UNIQUE] INDEX [indexName] ON (columnName(length));删除:DROP INDEX [indexName] ON myTabl

2022-12-06 15:51:49 479

原创 【python自动化】使用关键字驱动实现appium自动化

在写app自动化用例时,尝试用了关键字驱动的框架记录一下自己对:1 关键字驱动指将用例步骤的操作封装为关键字,比如定位元素、点击元素、获取元素属性值、断言,这些都是操作关键字2 在excel中按照用例执行过程,填写操作关键字以及要执行操作指令需要用到的参数信息及操作后保存的对象名3 封装的代码框架,可以实现读取excel用例文件,拿到关键字操作及对应的参数4 然后按照关键字动作传入对应的参数,去执行1)将用例步骤抽象出关键字2)怎么执行excel中存放的字符串对应的方法。

2022-11-15 17:54:23 851

原创 【python自动化】简单关键字驱动

关键字驱动思想:将测试数据放在外部文件,通过外部文件存储关键字,python实现读取关键字,并按照关键字执行对应的操作

2022-11-14 19:44:40 725

原创 怎么解决自动化用例获取token失败报错

当用例因为网络原因或者调用接口太快导致接口返回错误,如获取token失败,用例进而也失败。如何解决这个问题?通过增加失败重试机制,这里的失败重试指当接口调用失败时就再次重试,重试3次方法一:通过手写while循环,判断循环次数和成功标记控制重试

2022-10-12 15:43:39 1980

原创 对登录过程进行Fiddler抓包实现jmeter登录

1.浏览器访问业务应用,因为没有登录,返回302重定向到keyclock的登录页面,在浏览器输入账号密码进行登录2.登录成功后,查看fiddler的抓包结果,从业务域名的请求开始看,第一条 访问业务域名请求服务,因为未登录被重定向到sso.dtos.city3 .fiddler查看下一条请求,这条请求的url是上一条请求response Header中的location4.再查看下一条请求,这条请求是POST请求,请求中携带了query参数,和body请求,body请求中传入了用户名、密码请求登录。

2022-09-20 11:35:18 2155

原创 cookie、session、token的关系及测试

cookie存储在浏览器缓存中,字段内容是请求可以通过set_cookie设置,只要登录后,不论下发这个域名的哪个请求都会携带这个相同的cookie数据下发到请求session存储在服务器端,有一个关联id,将session信息与cookie进行关联有可能会暴露在F12请求中,有一个set_cookie:session=****会话登录后,会有一些登录信息需要保存到session里,证明用户是已经登录的,比如用户id,登录时间、权限等。

2022-09-19 11:08:14 669

原创 接口自动化-如多个接口都有一个重复字段,如何在一个用例对多个接口这个字段的合法性校验

【场景】有两个创建用户接口、两个更新用户接口,这4个接口参数都有name字段,name字段的限制是相同的》2.4 for循环遍历funcdict,根据用例场景拿到api函数名、以及对应的参数。在自动化验证时,可以使用回调函数将这几个接口的name参数验证在一个用例验证。1.在BaseTestcase中编写方法,实现根据传入函数去调用指定的函数。如上即可实现在一个用例里,覆盖对多个接口的同一个参数做非法校验,更高效一些。2.5 使用回调函数传入要调用的业务api和对应的参数去请求服务。

2022-09-16 17:06:57 391

原创 接口自动化测试用例层对接口参数的传递(二)

接口自动化测试中,往往测试的接口参数可能较多且测试场景复杂,比如测试参数必填、参数值非法,用例层如果直接定义接口的参数,存在大量重用数据且如果接口发生变更(删除一个参数、修改一个参数名)需要在用例层修改很多地方。如果json中的参数被替换后出现这种情况:json嵌套中有未被替换的变量需要删除,但是删除是会将“domain”这整个字段删除,这种嵌套的情况最好将这部分json单独在业务api中构造。注意参数中的authtoken、domainid要与yaml中${}中的参数名一致,才能成功替换,如果这样调用。

2022-09-16 16:36:37 823

原创 python生成器及关键字yield

生成器是什么生成器继承于迭代器,故生成器有迭代器的特性,是一个可以通过循环获取数据的对象但生成器保存的是生成数据的算法,不保存数据,迭代器是一组数据。python已有的列表生成器 list(range(1,11))无法解决内存限制的问题,所有产生的数据都在内存里,如果数据很大就会有内存溢出的问题生成器是保存了生成数据的算法,不保存数据,同时也会保存游标的位置,记录当前取到哪个数据,下次继续从游标位置获取新数据可以通过next()方法,一直通过生成器生成新数据,而不占用内存

2022-09-14 18:07:29 273

原创 python——多继承下的调用优先级

child子类同时继承了Father,Mother,GradeFather,GradeMother四个父类。如果父类有同样的方法sing,child去调用sing方法时,会按照调用优先级去调用到sing方法,可以查看方法调用优先级,可以看到优先级是child->Father->Mother。故child类没有sing方法时,会去Father查找调用sing方法。

2022-09-14 16:01:58 242

原创 python——装饰器

装饰器用于给已有函数在不改变已有函数的情况下额外增加功能使用场景有增加统一日志、埋点、性能调优

2022-09-14 15:40:48 204

原创 python-静态方法与类方法的区别

python-静态方法与类方法的区别。

2022-09-13 17:21:00 326

原创 python-数据结构(元祖、列表、集合)

元祖、列表、集合的区别利用map\filter、列表生成式、sorted、heapsort对元祖、列表、集合进行数据处理

2022-09-13 16:58:36 405

原创 python-利用正则表达式匹配字符串

re.compile() 生成一个正则对象re.match().group() 根据正则表达式匹配字符串,如果不是从字符串首位匹配的,则返回none,利用group()返回匹配的字符串re.search().group()根据正则表达式查找匹配字符串,返回第一个匹配的字符串,不限制必须是从首位匹配re.findall()根据正则表达式返回所有匹配的子字符串,用列表返回re.finditer() 同findall类似,只是返回一个迭代器(迭代器指可以通过循环遍历打印迭代器内容的对象,如元祖、列表等)

2022-09-13 15:01:57 4136

原创 python-异常捕获与打印

为什么要进行异常捕获? 在python程序中如果代码中有异常,不进行异常捕获的话,代码遇到异常就会终止运行,影响程序的健壮性,故要进行异常捕获处理,使得程序遇到不可知的异常,不会终止,在exception代码块中进行异常处理后继续后面的代码执行。

2022-09-13 10:58:53 2545

原创 python-字符串的模板替换 Template.substitute()

Template.substitute()将字符串中的${}、$var中的变量替换为参数中的变量值

2022-09-09 17:48:32 1573 1

原创 python-父类与子类间的常见问题

* 子类如何调用父类的__init__方法

2022-09-09 16:38:03 201

原创 python-浅拷贝与 影子拷贝 copy与深拷贝 deepcopy

浅拷贝就是赋值操作,相当于引用,复制了一个指针给另一个变量,地址是同一块-原有对象的改变会影响复制后的对象。

2022-09-09 16:33:05 202

原创 python-json与字符串的转化 loads、dumps

* dump - 将Python对象按照JSON格式序列化到文件中* dumps - 将Python对象处理成JSON格式的字符串* load - 将文件中的JSON数据转化成json对象,是dict* loads - 将字符串的内容转化成json对象,是dict

2022-09-09 16:22:34 515

原创 python-可变传参、关键字传参

可变传参、关键字传参

2022-09-09 15:01:02 343

原创 测试场景设计(四):优惠券测试场景

优惠券测试场景设计:优惠券类型、优惠券领取、优惠券展示、优惠券使用

2022-07-07 11:03:09 1424

原创 测试场景设计(三):页面增加数据并对数据进行编辑

针对列表页面增加数据并对数据进行编辑,设计测试用例

2022-07-07 10:09:08 403

原创 测试场景设计(二):登录场景

网页登录测试场景

2022-07-07 10:07:03 538

原创 测试场景设计(一):扫码付款场景

【扫码支付验证场景】 

2022-07-07 10:02:09 648

原创 如何做好团队测试建设

今天读了一篇文章,感觉写的挺好,对于测试团队建设,质量提升的观点写的很好。下面结合自己的工作经历写写自己的感想,记录下以后要如何提升自己和团队。新接手一个业务,要怎么做?首先要融入环境,熟悉组内工作氛围、人员角色、工作沟通模式多看多听多记录,而不是着急发表意见,一般这时发表的意见都是基于之前项目的模式上经验的延续,不一定适用于本项目,而且刚入组就着急发表意见一般领导、组员不会轻易采纳,而是会觉得你急于表现。最好脚踏实地干一阵,摸清项目的工作模式在思考提出自己的建议理清业务...

2022-04-29 14:41:28 4020

原创 解决pycharm console 打印中文为乱码

console 打印乱码:1.File Encoding设置项目编码为GBK2.文件模板设定python脚本为# -*- coding: utf-8 -*-3.重启pycharm正常

2022-04-22 15:46:27 3236 1

原创 自动化用例的断言

assert断言assert断言遇到断言失败就会结束执行,case中后面的语句不会执行用法举例:assert 1==1str = "assert in string"assert str.__contains__("assertl")==Falseassert str.__contains__("assert")tlist = [1,2,3,4]assert tlist.__len__()>0assert tlist.__contains__(2)assert tlist.

2022-04-22 10:17:31 1057

原创 selenium如何绕开登录

selenium配置Chrome的调试模式1.chrome设置环境变量到path2.设定chrome调试模式 本地启动端口 chrome --remote-debugging-port=9222[在打开的调试浏览器打开你要测试的页面]3.启动Chrome driver加入option选项options = Options()options.debugger_address = '127.0.0.1:9222'self.driver= webdriver.Chrome(options=

2022-04-19 14:57:15 2341 1

原创 python 实现web应用

1.介绍http和htmlhtml是编写网页的语言,编写的文件是html文件http是传输协议web网页的展示和使用会用到html、css、javascriptcss是样式,html是内容 、javascript是网页的响应动作静态网站和动态网站静态网站就可以把写好的html文件放在服务器(apache nigix)上,发送不同的http请求得到对应的返回结果动态网站:页面数据会访问数据库,根据不同的逻辑触发显示不同页面样式及数据;静态网页是用html+css+js/ajax

2021-12-29 17:57:15 3619

原创 浏览器是怎么加载页面的?

通过渲染* 浏览器的工作原理:服务器会启动serversocket类对象,对一个端口进行监听(8080),浏览器通过域名访问请求,DNS域名解析器根据域名查到对应的IP,向该IP发起请求,为get请求,请求html字段,服务器查找html资源,找不到则返回404,找到则返回给浏览器,浏览器通过渲染解析显示*浏览器的组成部件:用户界面(刷新等按钮)、浏览器引擎(发送用户浏览器的请求到呈现引擎)、呈现引擎(关键引擎,解析html转化为DOM树)、网络层、UI后端(绘制窗口)、JS解析器、Data存储

2021-12-29 11:42:42 434

原创 python 分片特性[:]

[:]分片支持对迭代器对象进行分片,返回一个新的迭代器对象迭代器对象常用的有:字符串、list 、元组下面会对分片常用的情况进行举例str = "abcdefg"print(str[:3])#返回abcprint(str[-1:])#返回gprint(str[:-1])#返回abcdefprint(str[2:-1]) # 返回cdef#同样,数组也支持提取arr =[0,1,2,3,4,5,6]print(arr[:3])#返回[0,1,2]print(arr[:-1])

2021-12-29 10:28:56 430 1

原创 python中的几个函数解释 map、reduce、filter、yeild、sorted、eval

目录map(fn,Iterable)reduce(fn,Iterable)filter(fn,Iterable)yield nmap(fn,Iterable)fn是一个函数名,Iterable是一个迭代对象,可以是list,str,map使用Iterable的元素调用fn函数然后返回一个Iterable返回的Iterable可以使用list,str给转化一下类型'''示例1将整数数组元素依次调用fun函数,函数中对每一...

2021-12-28 15:22:49 603

原创 Fiddler使用学习笔记

目录Q:如何仅过滤显示指定域名的会话 :Q:如何设置过滤图片等请求Q:怎么做到只拦截固定某个浏览器的请求Q:Fiddler如何设置断点篡改请求Q:修改请求返回responseQ:什么场景需要修改请求的response?Q:如何仅过滤显示指定域名的会话 :方法一: Filter->userFilter ->show only if url contains 填写指定的域名方法二: 在hosts区域勾选show only the following hos..

2021-12-10 16:40:41 7487

原创 python生成随机字符串

随机字符的场景大致有以下场景:1.产生随机字符串 无数字2.产生随机长度的字符串 无数字、有数字3.产生随机手机号4.产生随机n位的数字5.产生随机n以内的数字随机使用的两种思路如下:一:使用random.randint(0,n)定义一个字符数据源的数组,要产生多长的字符串就循环调用多少次random.randint(0,n),n=数据源数组的长度,在这个数据源数组中选择随机位置的字符,然后进行拼接返回def generate_random_str(randomleng

2021-11-30 14:59:48 41212

原创 断言失败了怎么清理已创建的测试数据

场景一:校验创建用户接口返回体中的字段默认值是否符合预期(按照用例流程需要清理测试数据,但中间assert断言失败会导致用例停止,不会执行清理操作)用例组织是这样的:def test_case(self) #调用adduser接口创建用户 #assert校验response的返回体字段默认值是否符合预期 #调用deleteuser接口删除创建的用户如果assert校验失败,就会终止用例,deleteuser这一步不执行,导致测试数据未被清...

2021-11-30 14:32:43 1758

原创 python变量的访问控制

1.类变量 :不用实例化对象,通过类名即可访问,值可以修改2.实例变量:必须要实例化对象才能访问到3.单划线变量: _name 代表是protect变量,原则不允许外部直接访问,但是也能访问到4.双划线变量:__name 代表是private变量,仅允许这个类访问,子类也不能访问,如果非得要在类外访问,其对象名会变成_类名__变量名访问,可以通过类对象._类名__变量名访问class VarTest: classVar = "classVar" __privateVar= "_.

2021-11-30 14:10:07 1334

xmlToexcel.py

testlink导出用例为xml格式,python写了个脚本,支持将xml用例转为excel。

2021-03-31

空空如也

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

TA关注的人

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