- 博客(74)
- 收藏
- 关注
原创 CICD持续集成(Jenkins+Git+Gogs+Allure )
Jenkins 是一个开源的、用于构建和自动化软件开发流程的持续集成和交付工具。它提供了一个可扩展的平台,用于构建、测试和部署软件项目。通过使用 Jenkins,开发团队可以实现持续集成和交付,自动化构建和测试过程,提高软件开发的效率和质量。从而应用于各种软件开发项目和持续集成流水线中。
2024-06-29 20:43:53
607
原创 CICD之Git版本管理及基本应用
CICD:持续集成,持续交付--让对应的资料,对应的项目流程更加规范--提高效率CICD 有很多的工具 GIT就是其中之一。
2024-06-29 14:47:35
1212
原创 python API自动化(基于Flask搭建MockServer)
在接口中,"mock"通常是指创建一个模拟对象来代替实际的依赖项,以便进行单元测试。当一个类或方法依赖于其他类或组件时,为了测试这个类或方法的功能,我们可以使用模拟对象来替代这些实际的依赖项。模拟对象可以模拟实际对象的行为,以便在测试过程中进行控制和验证。
2024-06-27 18:16:22
1452
原创 python API自动化(Pytest+Excel+Allure完整框架集成+yaml入门+大量响应报文处理及加解密、签名处理)
假设你需要测试一个登录功能,输入用户名和密码后验证登录结果。可以使用参数化实现多组输入数据的测试:测试正确的用户名和密码登录成功测试正确的用户名和错误的密码登录失败测试错误的用户名和正确的密码登录失败测试错误的用户名和密码登录失败在参数化中我们可以单参数、多参数、函数数据参数化。我们采取的思想就是进行数据分离--DDT数据驱动。
2024-06-20 15:22:08
1234
1
原创 python API自动化(接口自动化简单封装与Logging应用)
把常用的服务IP、端口(环境变量)、公共参数等,统一定义到全局常量里,方便维护修改1. 新建一个py文件,专门用来存放常量,一般常量的命名都是大写;2. 对应的文件导入这个模块,即可使用创建一个confic文件夹# 配置常量的文件# 环境变量# 正式环境# 测试环境# 测试账号。
2024-06-11 08:42:30
1368
原创 python API自动化(Jsonpath断言、接口关联及加密处理)
接口关联是在进行接口测试时,将一个接口的返回结果中的某些数据提取出来,然后作为后续接口请求的参数或者验证的依据。通过接口关联,可以实现接口间的数据传递和依赖关系的建立。例如,一个接口的请求中需要使用到某个用户的登录令牌(token),可以通过在登录接口的响应结果中提取出令牌(token),然后在后续接口的请求中使用。提取关键参数:在一个接口的请求中,某些参数的值是由之前接口的响应结果提供的。验证关键数据:在一个接口的响应结果中,某些数据是需要验证的,可以将这些数据提取出来,并进行断言或者其他验证操作。
2024-06-03 20:44:12
1135
原创 python API自动化(Requests库应用)
接口测试自动化,简单来讲就是功能测试用例脚本化然后执行脚本,产生一份可视化测试报告。不管什么样的测试方式,都是为了验证功能与发现 BUG。那为什么要做接口测试自动化呢?一句话概括就是为了节省人力成本事情准备的主要两个核心:1. 文档的准备2. 明确接口测试自动化需要的功能。
2024-06-01 16:37:22
984
原创 python API自动化(接口测试基础与原理)
接口测试是对系统或组件之间的接口进行测试,主要校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。而接口自动化测试是让程序代替人为对接口项目进行自动化验证测试的过程手工测试:页面--登录功能时候--对登录接口测试自动化测试:自动、无人值守--知识点:CICD--持续集成我们进行测试应该借助某些工具去完成:postman、jmeter 、代码等我们设置了环境变量之后我们http里的请求就如下所示。
2024-05-30 16:54:20
952
原创 python web自动化(分布式测试Grid)
Selenium Grid 是 Selenium 提供的⼀个⼯具,⽤于⽀持在多台计算机上并⾏运⾏测试。它允许将测试分发到不同的机器和浏览器组合上,同时收集结果。什么时候应该使⽤Grid。
2024-05-26 18:40:20
1100
原创 python web自动化(关键字驱动与POM)
定义工具类(基于基础的方法,进行的关键字封装)# 这个里面可以封装很多的web自动化的方法# 通过构造函数,来接受driver对象def __init__(self, driver): # driver是为了后面再用的时候,传入浏览器的对象# 浏览器的初始化# 打开项目地址"""# 元素定位的方式一:# 元素定位的方式二:"""# 元素定位# 引用for循环,去循环判断是否定位元素成功# 获取原始的元素之后,再去获取他里面的动态熟悉# 将定位的元素标记出来。
2024-05-23 18:11:41
828
原创 python web自动化(Pytest实战)
什么是fixture:在软件测试中, Fixture 是⼀种⽤于管理测试环境和测试数据的机制。它允许在测试函数或⽅法运⾏之前和之后执⾏特定的代码,以确保测试的可重复性和⼀致性。Fixture 主要⽤于设置测试环境、准备测试数据、执⾏清理操作等,以便测试能够按预期运⾏简单理解: 就是可以⽤它对需要执⾏的测试⽤例,设置前置或者后置操作示例如下"""""""""fixturn 快速入门"""first_fix.append("测试")
2024-05-23 15:30:07
2219
原创 python web自动话(⽂件上传和⽇期控件)
我们有如下的文件上传的联系网站,我们可以定位到选择文件,但是点击选择文件无法定位到我们可以看到这个选择文件的标签是input我们直接使用send_keys进行图片上传我们来个实战演练。
2024-05-20 21:49:29
493
原创 python web自动化(验证码处理)
1) Debug模式启动浏览器(浏览器复⽤):原理:浏览器是有缓存记录的,只需要 沿⽤已经保存有登录记录的浏览器 进⾏后续的操作就⾏2)识别法:原理:对验证码的图⽚进⾏字符识别,其原理就是通过 识别算法解析图⽚ ,其解析的精准度取决于图⽚的复杂程度注: 精准度不⾼,如果图⽚越复杂,失败率越3)接⼝法:原理:开发⼈员提供⼀个测试接⼝,通过这个 接⼝获取 到图⽚验证码⽐如:在服务端提供⼀个可被客户端使⽤的接⼝,只要客户端传递过来⾃⼰的SessionID,该接⼝就返回此时正确的Session。
2024-05-20 11:00:13
1576
原创 Python Web自动化(等待机制)
定义:设定⼀个固定的等待时⻓,代码运⾏到此处,会强⾏进⾏等待指定的时间。缺点:不能准确把握需要等待的时间1.有时操作还未完成,等待就结束了,导致报错;2.有时操作已经完成了,但等待时间还没有到,浪费时间;3.如果在⽤例中⼤量使⽤,会浪费不必要的等待时间,影响测试⽤例的执⾏效率。优点:使⽤简单,可以在调试时使⽤。
2024-05-16 21:49:10
805
原创 Python Web⾃动化(元素定位)
⻚⾯元素是在视觉上有欺骗效果, css提供元素样式,但元素定位时,我们关键是看标签的 名字 , 属性 和 text的区别,尖括号外⾯的是text,尖括号⾥⾯的是属性元素定位,就等于定位⻚⾯标签。基于元素class样式来定位,⾮常容易遇到重复的,这个⽅法的参数只能是⼀个class值,列如: class属性有空格隔开两个class的值时,只能选取其中⼀个进⾏定位。基于元素属性中的id的值来进⾏定位, id是⼀个标签的唯⼀属性值,可以通过id属性来唯⼀定位⼀个元素,是⾸选的元素定位⽅式,动态ID不做考虑。
2024-05-16 14:32:02
1023
原创 Web自动化测试(一)
通过模拟⽤户在Web浏览器中与应⽤程序进⾏交互的⾏为来验证应⽤程序的功能和⾏为是否正确。(通俗来讲就是: 模拟⽤户对浏览器端的项⽬进⾏各种操作测试 )⾃动化测试相对于⼿⼯测试的好处 :1.提升测试执⾏的效率(机器的执⾏速度要⽐⼿⼯测试要快)2.提⾼测试执⾏的准确率(执⾏的是提前设置好的步骤,避免了⼈为执⾏的时候出的纰漏)3.减少回归测试花费的时间(回归测试的时候需要花费时间执⾏前置步骤来准备测试数据)
2024-05-14 19:28:32
990
原创 pytest(二)
pytest-html 提供了许多配置选项,你可以在 pytest.ini ⽂件中添加如下配置来⾃定义报告的样式和⾏为:addopts :设置⽣成报告的选项,包括报告⽂件的名称和路径。html_title :设置报告的标题也可以直接在main上进行设置。
2024-05-13 22:04:36
1123
原创 pytest(一)
Pytest是⼀个⽤于编写和执⾏Python测试的全功能测试框架。它是⼀个第三⽅库,提 供了简洁、灵活和易于使⽤的⽅式来编写各种类型的测试,包括单元测试、集成测试 和功能测试等。Pytest是⼀个功能强⼤、易于使⽤和扩展的Python测试框架,提供了丰富的功能和灵 活的测试编写⽅式,使得编写和执⾏Python测试变得更加⾼效和愉快。
2024-05-12 16:30:25
676
原创 python之异常机制处理
异常:程序无法继续执行了,例如:字符串和数字相加,除以0,对None进行操作中断当前程序执行,然后打印出红字Exceptionerror捕捉异常的方式:关键字例子如下。
2024-05-11 20:27:46
354
原创 python之装饰器,模块和文件操作和面向对象
类的里面,称之为方法,类的外面,称之为函数类名的写法:驼峰式,首字母大写,每个单词紧贴着定义一个类age = 18print("耶耶")定义一个对象qiye = Teacher() # 实例化对象 -- 通过类实例化生成了一个对象 -- qiyexiaoming = Teacher() # 生成了另外一个对象 -- xiaoming获取对象中的属性print(f"""----->{qiye.name}的自我介绍
2024-05-09 18:24:20
589
原创 python基础之元组、集合和函数的定义与返回值
定义:由不同的元素组成的一个数据结构,无序排列的标识符:{ }关键字:set特征:无序,元素不能重复,集合和集合之间可以做运算定义:将一段公式/逻辑代码定义在一个特定的标题(函数名称)下,通过一块,或者一行代码来执行固定好的逻辑, 而这些代码只有函数被调动的时候才会执行通俗点:封装一些代码核心点:函数的定义、函数的调用函数的定义:封装好的代码,只有在调用的时候,才会执行 -- 定义函数的时候,不会执行函数内部的代码函数的调用:语法:函数的名称() -- 调用函数,执行函数内部的代码。
2024-04-26 21:28:40
659
1
原创 python基础之列表和字典的定义与操作
定义:具有键值对映射关系的一组无序的数据组合键值对映射: key : value -- key是键名,value是这个键所对应的具体值,通过key来查询关键字:dict标识符:{}无序:没有索引 一个字典里的key不会重复key:是唯一的,并且不能修改的数据,通常我们用str类型value: 可以是任何类型的数据,可以修改定义一个空字典dic1 = {}定义一个有值的字典dic2 = {"age": 18,
2024-04-25 16:26:03
610
原创 软件测试(性能测试工具)---LoadRunner
LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的过程中已经十分强大,现在很多互联网公司都在使用LoadRunner来完成产品或者Loadrunner是业界公认的权威性能测试工具,被誉为工业级的性能测试工具,支持广泛的协议和平台。
2024-04-20 21:11:01
1344
1
原创 软件测试---性能测试
如图所示系统内部以及软件的代码实现1,资源泄漏,包括内存泄漏。2,CPU使用率达到100%,系统被锁定等。3,线程死锁,阻塞等造成系统越来越慢。4,查询速度慢,或者列表的效率低。5,受外部系统影响越来越大6.软件的服务器崩溃,导致用户无法使用。
2024-04-16 21:07:38
631
原创 自动化测试Junit
JUint是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试。JUnit 促进了“先测试后编码”TDD的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点.......”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。
2024-04-14 21:31:26
1919
原创 自动化测试(selenium篇)
自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程自动化测试包括UI自动化,接口自动化,单元测试自动化。按照这个金字塔模型来进行自动化测试规划,可以产生最佳的自贡话测试产出投入比(ROI),可以用较少的投入获得很好的收益。
2024-04-12 16:50:50
4444
3
原创 算法(二分查找)
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。示例 1:nums = [[3,4]示例 2:nums = [[-1,-1]示例 3:[-1,-1]代码原理这种情况下我们找左端点和右端点是不一样的分为两种情况左端点:假如有如图所示的一个数组,我们在数组分成两个区间,一个小于T,一个大于等于T。
2024-04-05 22:54:12
724
原创 算法(滑动窗口四)
1.定义left=i,right=i 还需要定义一个count用来记录单词的数量定义两个哈希表,一个哈希表hash1用来记录words数组里面单词的个数,一个哈希表hash2用来记录s表内的单词,用len表示words单词的长度。它是 words 中以 ["the","foo","bar"] 顺序排列的连接。它是 words 中以 ["foo","bar","the"] 顺序排列的连接。它是 words 中以 ["bar","the","foo"] 顺序排列的连接。子串 "barfoo" 开始位置是 0。
2024-04-01 00:19:52
877
1
原创 测试开发(测试用例篇)
测试执行者的依据使得工作可重复,自动化测试的基础评估需求覆盖率,覆盖率越高,说明测试质量越高,反之就是越低用例的复用积累测试的方法思路以供后续借鉴:使用中带来困扰测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多解决如下问题:不知道是否较全面的测试了所有功能 测试的覆盖率无法衡量 对新版本的重复测试很难实施 存在大量冗余测试影响测试效率。
2024-03-31 19:50:21
1187
原创 Spring原理
我们翻看AbstractAutowireCapableBeanFactory这个源码,在里面看到了里面有实例化bean的源码我们根据bean的周期来看接下来就看属性注入在属性注入里面有bean的初始化initializeBean 里面有bean初识化的各种代码我们可以看到spring的源码是非常复杂的,我们现在也只是浅浅读了一下。
2024-03-28 16:47:56
1165
1
原创 【】(综合练习)博客系统
Data//200表示成功,-1表示失败⼯作中涉及到的"环境"• 开发环境:开发⼈员写代码⽤的机器.• 测试环境:测试⼈员测试程序使⽤的机器.• ⽣产环境(线上环境):最终项⽬发布时所使⽤的机器.对稳定性要求很⾼.把程序安装到⽣产环境上,这个过程称为"部署".也叫"上线".⼀旦程序部署成功,那么这个程序就能被外⽹中千千万万的普通⽤⼾访问到.换句话说,如果程序有BUG,这个BUG也就被千千万万的⽤⼾看到了.
2024-03-24 21:12:07
995
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人