- 博客(82)
- 资源 (2)
- 收藏
- 关注

原创 第三代api自动化测试框架使用教程(pytest+allure+sql+yaml)
db_test2,数据库对象,需要先在config.py配置里面写上数据库连接数据,然后去mysql_.py里面生成数据库对象,然后把对象名写在db_list=[‘db_test’,‘db_test2’]上。只有在db_list里面的数据库才可以进行断言使用。MYSQL_CONFIG:MYSQL_CONFIG_1,MYSQL_CONFIG_2数据库配置,使用数据库操作时使用,需要几个就写几个。file:使用引号包起来的python文件对象,作为接口文件格式参数发送(复制file里面的数据在外面加上引号)
2023-03-17 21:15:00
3775
13

原创 pytest+yaml框架环境配置和使用教程
''1、每条用例前置sql,请求参数sql,断言sql2、requests二次封装,自动获取ip和header信息3、allure动态方法封装(标题、描述、步骤)4、钉钉机器人发生allure报告公司局域网内可以访问5、log日志记录每个重要参数6、多接口参数依赖(接口返回提取,请求使用)7、token信息全局前置写入配置文件8、用例文件支持多目录多文件运行,支持排除目录或者文件9、定位运行的用例属于哪个文件10、支持随机几位数字或者字符串11、提供mock接口。......
2022-07-18 15:32:35
18911
15

原创 python fastapi 入门教程,每个案例都使用postman进行测试写的接口
官方示例代码运行命令:uvicorn test:app --reload注意:运行命令app前面那个是文件位置,官方的文件名叫main,要以实际的文件名为准,不然找不到app测试无r参数情况测试有r参数情况报错了注意:重点在发起请求的时候希望请求参数格式可是现在会报错要这样才会成功,可是这不是我们想要的结果按照官方的解决办法,在我这有点问题告诉我确实一个参数(可能版本有啥问题把)缺少我就先补上这个参数试试,发现就能正常使用了最终测试gt=0的意思,看源码
2022-06-20 09:38:27
18543
8

原创 pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
1.第一步我先写一个环境配置文件,按自己公司环境配置,我这边只有测试和生产环境,配置协议,域名和headers。后续我只有提供地址和请求参数就可以发起接口访问2.我写一个读取文件的类,准备用于处理文件相关,现在只有读取yaml问的方法,后续准备写读取execl、execl和yaml用例数据转换,用例数据处理。方法测试:3.环境配置总开关,一开始我是想把环境这个参数放着请求时填写的,最后发现比较麻烦,一切以简单明了为好4.写一个读取并处理配置文件信息的方法,使用我之前写的读取ymal的方法,把
2022-06-14 11:24:12
28499
100

原创 基于pytest搭建接口自动化测试框架,提供源码
基于pytest测试框架实现场景接口自动化和单接口自动化,支持参数驱动单接口执行,支持多接口依赖参数,支持配置全局变量,支持日志记录,数据库,yaml操作,二次封装requests库,支持allure报告直接打开......
2022-01-14 11:34:52
42925
36
原创 python uiautomator2 环境搭建和基本使用
可以百度或者看看这个https://blog.csdn.net/weixin_37600187/article/details/127987889。
2023-04-13 21:35:18
851
1
原创 mysql实用篇
右连接是左向外连接的反向连接,将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。desc表示字段按降序排序。其中asc为默认值,排序不需要where。创建表之前选择在哪个数据库下面建表。别名字段会吧查询结果变为别名,实用。查询字段字符中间有“个”字的数据。id在0-1之前,包含0和1。查询字段末尾有‘屁’字的数据。在新建的表里面插入一条数据。查询字段以‘李’开头的数据。
2023-02-09 19:52:05
488
原创 jmeter实用篇
在信息头加上这个content-type application/json;charset=UTF-8就是json格式。通过响应数据分析失败原因:token缺失,去添加请求头。再建立一个普通的http取样器。json和表单格式参数填写。填写变量名和变量提取表达式。需要网上查,列举下怎么用。新建一个普通的线程组。现在就可以请求成功了。Params参数填写。在一个线程中可以使用。
2023-02-09 15:48:04
477
原创 postman实用篇
参数格式一:url后问号拼接( Params格式)使用{{}},只能使用储存的变量信息。先点击小图标,在点击add添加环境。参数格式二:headers参数。设置变量信息并且保存环境信息。参数格式四:json参数。查看环境里面的变量信息。参数格式三:表单参数。环境使用,多环境切换。
2023-02-09 12:31:03
104
原创 2022/9/5开始第三版接口自动化(yaml用例)测试框架(记录搭建过程)(这个废弃了)
header’,‘data’,'assert_expression’这三个字段是需要参数依赖的,要让它们被读取处理时先转成字符格式,方便。这个模板不代表最终模板,后续可能还有改动。二、配置哪些字段需要字符化。一、yaml用例设计。
2022-09-05 17:06:07
16809
13
原创 python openpyxl 读取xlsx后缀文件方法
源码#存放公共方法import openpyxldef row_column_read_datas(file,sheet,row=1,column=1): wk=openpyxl.load_workbook(file)#打开文件 sh=wk[sheet] max_column=sh.max_column max_row=sh.max_row list=[] row_list=[] for j in range(row,max_row+1): #选
2022-07-21 11:25:15
15012
原创 测开学习篇-html
2.有序列表和无序列表3.div分区4.语义标签div和span对于div和span这两个元素,不少新手也不知道它们之间有什么区别,使用起来也很随便。因此,这里有必要简单介绍一下。div和span没有任何语义,正是因为没有语义,这两个标签一般都是配合CSS来定义元素 样式的。div和span区别如下:(1 ) div是块元素,可以包含任何块元素和行内元素,不会与其他元素位于同一行;span 是行内元素,可以与其他行内元素位于同一行。(2 ) div常用于页面中较大块的结构划分,然后配合CSS来操
2022-07-14 14:43:51
15081
原创 python 操作微信订阅号(2022.7.1)
这个代码要丢到自己的云服务器里面至于flask的liunx环境什么的就自行百度了设置的2个核心参数,一个url,一个token。token在代码里面设置就行了,代码会处理加密
2022-07-01 16:27:20
14681
原创 apifox 针对测试使用教程(持续更新)
默认进来是实例项目保存后点击这个项目,进入到该项目项目概述环境是所有项目可以用,我给这个项目配置一个该项目使用的测试环境新建环境(fastapi接口专用环境)配置域名后续只需要写接口地址即可注意:这里的保存不是运行接口保存完成后才可以运行点击运行后到当前页面,可以正式发起请求(这里写掉了一个/)运行结果先复制一个正确的用例,然后改改参数变成一个错误的用例用例记得要保存啊......
2022-06-30 10:42:32
21245
9
原创 python操作钉钉机器人推送消息
群里面设置使用关键词,必须要携带这个关键词才能调用这个机器人下一步,这个就是操作这个钉钉机器人的接口allure测试报告 关键词一定要写在 content字段里面测试
2022-06-29 15:18:46
16704
原创 基于fastapi实现6个接口(token拦截, 2个业务流程,接口参数依赖校验)已经通过postman测试,记录部署服务器和windows,用于pytest接口自动化框架的接口测试对象
fastapi入门教程测试总结果
2022-06-22 13:55:51
17636
1
原创 python生成器+pytest实现参数化
定义:生成器是由函数+yield关键字创造出来的写法遇到问题:pytest执行没找到用例(未以test开头命名文件)选择三个执行一个不执行选择二个执行二个不执行
2022-06-10 11:30:18
17675
原创 python pyinstaller “单个” py文件打包
安装pyinstallerpip install pyinstaller获取打包py文件的位置(文件路径全英文)打包命令pyinstaller -F F:\script\csdn\shua_csdn.py打包完成后最终文件位置在dict下面,这个文件可以在没有python环境的电脑下运行.........
2022-06-08 11:14:56
17435
原创 谷歌版本升级重新安装配置chromedriver
查看谷歌版本下载对应chromeDriver驱动chromeDriver下载地址找打对应的大版本下载下载自己需要的版本,win只有32位的移动到python文件夹下面覆盖之前的版本(如果是第一次直接丢进去就行)替换前保存selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome
2022-06-07 11:38:31
17353
1
原创 jmeter if控制器、仅一次控制器
if控制器新增线程组使用函数助手取消勾选这个测试仅一次控制器测试先把线程组的循环改为2次然后清掉之前的重新运行
2022-03-07 15:21:38
16909
1
原创 jmeter 解决中文格式问题
String s=new String(prev.getResponseData(),"UTF-8"); char aChar; int len= s.length(); StringBuffer outBuffer=new StringBuffer(len); for(int x =0; x <len;){ aChar= s.charAt(x++); if(aChar=='\\'){..
2022-03-07 14:06:10
17036
原创 charles 过滤器-简单过滤和设置过滤
一、简单过滤二、设置过滤打开位置选择筛选添加协议,域名,端口等信息,可以只填一个信息或者多个信息只会抓取指定域名的包,可以指定多个排除筛选(操作和选择筛选一样)被指定的域名会被排除掉不会抓取,可以排除多个......
2022-03-07 11:48:32
20196
原创 charles 节流弱网
打开位置部分参数介绍:bandwidth —— 带宽,即上行、下行数据传输速度utilisation —— 带宽可用率,大部分modern是100%round-trip latency —— 第一个请求的时延MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况Releability —— 指连接的可靠性,用于模拟网络不稳定Stability —— 连接稳定性1.勾选Enable Throttling才能进行弱网节流操作2.设置需要节流的对象
2022-03-07 10:37:18
17271
原创 django drf 常用命令和常见问题
常用命令创建项目 django-admin startproject 项目名创建app django-admin startapp app名项目启动 python manage.py runserver 127.0.0.1:8080python manage.py makemigrations # 创建数据库迁移文件python manage.py migrate # 根据数据库迁移文件生成对应SQL语句并执行创建超级用户 python manage.py createsupe
2022-02-28 11:51:05
26558
4
原创 django drf 实现只有超级用户才能注册账号(涉及自定义权限permissions,获取token信息解析token信息)
django drf 实现只有超级用户才能注册账号编写注册序列化器编写注册视图配置二级路由,一级路由和之前登录一样测试注册视图自定义权限测试自定义权限编写注册序列化器和之前的登录序列化器写在一个地方from django.contrib.auth import get_user_modelUser = get_user_model()class RegisterSerializers(serializers.ModelSerializer): '''增加用户的序列化器''' cl
2022-02-18 10:47:41
25597
原创 django drf基于rest_framework_simplejwt实现登录获取token、检验token,token使用
django drf token相关
2022-02-17 10:30:48
31424
3
原创 django drf 案例--实现url编码和json和dict格式转化小工具(涉及定义模型类,序列化器,类视图,路由),接口测试
整体目录模型类models.pyfrom django.db import modelsclass UrlCoding(models.Model): raw_data = models.CharField(max_length=128, verbose_name='原始数据') coding_count = models.IntegerField(verbose_name='编码次数') new_data = models.CharField(max_length=128
2022-02-15 11:01:42
27534
原创 django drf 初始化配置(mysql、跨域访问、默认用户模型)和用户模型重写,数据迁移,解决用户模型重写后无法创建超级用户的问题
drf 初始化配置一、初始化项目(推荐方案一)二、创建app三、重写用户模型四、配置五、数据迁移(把模型类转为数据库的表字段)六、整体结构和介绍一、初始化项目(推荐方案一)方案一方案二django-admin startproject 项目名二、创建app先在根目录下创建apps包用来存放所有的app,可以在apps目录下创建app或者在根目录下创建后移到apps下面创建app命令 :app django-admin startapp app名三、重写用户模型from django.db
2022-02-11 17:22:05
28054
1
原创 继续集成jenkins+allure+pytest+python邮件发送(报告截图selenium实现)+python钉钉机器人通知
继续集成jenkins+allure+pytest+邮件发送+钉钉机器人通知实现思路报告截图邮箱发送钉钉机器人发送测试结果jenkins配置运行python钉钉、邮件脚本配置邮件发送(重点构建结束触发另一个任务构建)配置钉钉发送测试实现思路'''0.邮件和钉钉都要在自动化执行完成后再去执行,不然拿到的数据和报告就不是最新的(重点)1.由于报告是在线展示,我这是本地,就使用selenium去登录截图2个报告的页面,也可以截更多。保存到本地2.通过邮箱发送截图附件实现邮箱发送报告3.jenkins下
2022-01-26 15:39:48
30184
6
原创 pytest自动化框架集成jenkins+gitee+allure,使用git下拉代码和本地代码实现,基于windows
pytest自动化框架集成jenkins+gitee+allure插件下载插件配置新建任务新建任务-gitee版新建任务-本地代码版构建前后的运行脚本格式设置插件下载直接搜这2个下载Allure Jenkins Plugingitee插件配置allure报告,jdk,git等配置新建任务新建任务-gitee版配置仓库地址和账号密码,第一次没有账号密码点击添加然后保存这个任务,再任务列表查看点进去一个,手动发起构建,我这个是已经生成过报告的和第一次有点区别构建完
2022-01-25 15:51:55
28299
1
原创 Linux安装nginx,vue项目打包上传liunx使用nginx
1.安装依赖包一键安装上面四个依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2.下载并解压安装包//创建一个文件夹cd /usr/localmkdir nginxcd nginx//下载tar包wget http://nginx.org/download/nginx-1.13.7.tar.gztar -xvf nginx-1.13.7.tar.gz3. 安装nginx//进入nginx目录c
2021-11-18 17:38:54
19374
原创 python 获取当前项目引用的第三包(不是当前环境里面安装的所有安装包)
pipreqs ./ --encoding=utf-8 在当前项目下运行,生成Requirements.txt配置文件,包含当前项目引用的第三方包和对应版本
2021-11-11 10:14:12
18323
原创 vue+element 使用案例
1.在components目录下新建一个vue模板文件2.创建完后的文件默认内容3.先在tmeplate标签里面写一个div标签4.在element官网去复制组件代码 https://element.eleme.cn/#/zh-CN/component/button 每种组件都有自己的属性,有些组件还要一些事件,使用时查询官网5.粘贴到刚才创建的文件的div标签里面6.在路由文件夹下面导入刚写好的vue模板文件和配置路由7.在APP.vue文件里面写入我们自己创建的vue模板文件配置
2021-10-28 17:55:36
17774
原创 vue+element 环境配置,项目搭建 3.0后版本vue-cli脚手架
1.安装node.js(这个百度简单)2.安装vue-cli脚手架npm i -g @vue/cli3.vue-cli搭建项目1.切换到要创建项目的文件夹下2.vue init webpack bm4.基本配置这样就成功了5.项目启动切换目录启动项目 npm start6.点击链接7.安装elementui先ctrl+c y 结束项目npm i element-ui -S 安装8.项目中引入 Element加入三行代码,目录看截图import Eleme
2021-10-28 17:37:30
27578
3
原创 mysql学习笔记
一.基础1.基本查询 1.查询的列表可以是:表中的字段、常量值、表达式、函数 2.查询的结果是一个虚拟的表格 3.查询前选择库保险一些 use ctms 4.有些字段名可能和mysql的关键字一样,可以使用卓分号也就是键盘1左边的那个键select `name` from biaoselect 100 select '字符'select 100+200
2021-07-08 19:31:54
27242
2
pytest+yaml+allure+requests 框架源码带注释版本
2022-06-28
drf 配置跨域不生效也不报错
2022-08-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人