- 博客(48)
- 收藏
- 关注
原创 接口自动化框架之python pytest-配置文件&参数化(五)
一.配置文件pytest的配置文件可以改变pytest的运行方式,是一个固定的配置文件pytest.ini,读取配置信息,按照指定方式运行1.必须放在根目录下2.命名必须为pytest.ini3.pytest -h 配置文件帮助命令二.配置项1.markers装饰器@pytest.mark的时候可以读取到,否则会报错warnings[pytest]markers= number_01: 分类1 number_02: 分类2 number_03:
2022-05-19 20:10:31 899
原创 接口自动化框架之python pytest-setup\teardown(四)
一、简介主要是为了做资源冗余处理,比如说再setup里连接数据库或者打开一些文件之类的,在用完后teardown再释放掉二、类里边或者函数运行在调用方法前后一般常用的是这两个作用域方式import pytestdef setup(): print('setup')def teardown(): print('teardown')def test_01(): print('01')def test_02(): print('02')class
2022-05-19 15:12:04 460
原创 接口自动化框架之python pytest-mark(三)
一、mark标签介绍在测试用例/测试类前面加上:@pytest.mark.标签名,打标记范围:测试用例、测试类、模块文件二、使用mark进行分类在使用mark标签之前要创建pytest.ini配置文件,同样在运行的时候,‘-m’参数后边也要标识分类标签的名称1.创建测试代码import pytestdef test_01(): print('oi')@pytest.mark.number_01def test_02(): print('iu')def
2022-05-18 23:20:56 1735
原创 接口自动化框架之python pytest fixture (二)
一、fixture简介:fixture 是在函数前边添加了注解:@pytest.fixture 的函数,是pytest特有的功能,在编写测试函数的时候,可以将此函数名称作为参数传递进去,pytest将会以依赖注入方式将该函数的返回值作为测试函数的传入参数二、fixture作用:1.可以把fixture看成一种资源,测试用例执行的时候需要配置这些资源,执行后需要释放掉2.同时fixture提供参数化功能,根据配置和不同组件选择不同的参数3.主要目的还是为了提供一种可靠和重复性的手段去运行一
2022-05-18 16:19:25 3842
原创 接口自动化框架之python pytest断言assert(一)
目录一、断言作用:二、断言常用方式:三、附录简易代码段:hi,本次集合作为pytest框架的一个累积,会持续输出更新的~,之前一直懒得整理,要加紧更新啦,有问题欢迎随时指出一、断言作用:pytest 使用python自带的assert关键字,后边可以接一个表达式,只要表达式最终结果为True就可,断言成功,测试用例也会成功,否则是失败二、断言常用方式:assert xx :判断xx为真 assert not xx:判断xx不为真 assert a in b: 判断b包
2022-05-18 11:55:11 1146
原创 git 遇到的一些小问题处理
1.git add . 和git commit 都没问题,但push的时候出现了Everything up-to-date是因为当前分支是master,我的更改也是在master上,导致没有任何改变解决:如果不确定是否是当前分支,先用git branch命令查看一下当前分支为哪个由上图可见我并没有在自己的分支上接下来切换到自己分支 git checkout进入自己的分支再合到本地的master上,git merge master本地合完之后再推到远端的master上:gi
2022-02-10 17:22:20 237
原创 数据库Mysql从建表到一些常用的语句总结(Sequel pro +mysql)
1.在数据库中建立一个表格创建MySQL数据表的SQL通用语法:CREATE TABLE table_name (column_name column_type);ID Sname gender score 20210517 黎明 男 98 20210518 Asa 男 100 20210519 Nico 女 78 20210520 生活 女 87 创建上述表格语句:CREA..
2021-08-22 00:03:33 450
原创 MacOS11.2安装mysql 连接Sequelpro 最新整理(各种新坑)
1.官网下载https://downloads.mysql.com/archives/community/因为我的系统是11.2.1的,开始装8.0.25版本的会在系统偏好设置里双击sql图标提示未能载入偏好设置面板“MySQL”,原来是版本兼容问题,改成8.0.24的就可以了后续就是傻瓜式安装,选择一个版本的mysql下载,点击download会进入下面页面,点击No thanks, just start my download2.如果发现版本不兼容的话,按照这个文章链接来删除即可:htt
2021-08-20 00:07:53 866 2
原创 总结下工作中会用到的Linux和git命令
一、Linux1、cd:切换目录/进入目录2、当前目录和上层目录:./ ../ 主目录:~/3、查看当前路径:pwd4、清屏:clear5、退出当前命令:ctrl+c 彻底退出6、查找自己所在的终端信息:who am i7、查看当前谁在使用该主机:who8、ls -l (也可以直接 ll ) :列出长数据串,包含文件的属性与权限数据等9、ls -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)10、find -name 文件名...
2021-03-23 15:36:12 168 2
原创 聊一聊HTTP、TCP/UDP协议那些事~~
一、TCP/IP分层协议1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。3.运输层:主要为两台主机上的应用提供端到端的通信。4.应用层:负责处理特定的应用程序细节。我们工作重接触到的大部分是运输层和应用层TCP和UDP的区别(网络上找的总结哈~):1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。
2021-03-23 15:28:07 239
原创 总结下测试常用的数据库命令操作
1、数据库的删除(其实也不太常用哈,不过了解一下)drop:删表,删数据 不能回退truncate table:删数据 不能回退delete:删数据 能回退 (删除一个表的某个数据)delete from employee where username='bbb';2、常用的条件查询(查询)where +一般条件eg:select * from student where english>80 and english<90;select * from st...
2021-03-23 14:41:19 629
原创 接口自动化框架python+pytest+Allure 思路总结
前言:好久没有更新博客了,新的一年该对过去一年的学习经验做一个总结了~之前一直用unittest库做接口自动化测试框架,最近发现pytest库太好用了,而且参数化起来很方便,因为是自己加上通过网络上一些科普帖子知识学习来的,以下都是个人自学pytest库来做的框架,如有不妥的地方还请指出,当然跟大神比起来我的水平还差了很多~如果小伙伴对这篇文章感兴趣的话我会慢慢更新更多内容(其实已经有很多内容放在草稿里了~),看这篇文章的小伙伴儿最好先有接口自动化或者自动化框架的一个基本思维,这个网上很多公开课
2021-03-02 17:48:14 742
原创 WIN 10下安装ADB驱动进行安卓crash 日志抓取
先简单介绍一下ADB:ADB(Android Debug Bridge)是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备。 ADB主要功能有:在Android设备上运行Shell(命令行) 管理模拟器或设备的端口映射 在计算机和设备之间上传/下载文件 将电脑上的本地APK软件安装至Android模拟器或设备上1、Win10配置ADB工具教程下载地址:https://dl.pconline.com.cn/downloa.
2020-11-09 11:36:37 656
原创 python 接口自动化之yaml文件读写数据
yaml作为测试数据写入是很方便的,之前学习最初版的自动化框架时使用excel,感觉不是很灵活,所以百度了一下Yaml文件,先介绍下yaml一、Yaml语言介绍:YAML 语言( /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。YAML 是一种非常灵活的格式,几乎是 JSON 的超集。除了支持注释、换行符分隔、多行字符串、裸字符串和更灵活的类型系统之外,YAML 也支持引用文件,以避免重复代码。基本语法规则:大小写敏感; 使用缩进表示层级关系.
2020-07-15 20:53:29 1998
原创 【jmeter】记两次小问题解决方案 java.net.URISyntaxException: Illegal character in query at index
1、从异常信息中大概分析:利用JMeter的HTTPClient4客户端发送请求时,所请求的url中带有不合法的字符,不能按照预期效果被服务器识别。由此考虑可能是url中特殊字符的编码问题,再对比正常和异常的Request中的url,发现异常情况的url的参数值中多了一个空格字符,同时也符合所读取数据时输入数据之间确实是有部分是多输入了一个空格,而且JMeter中也未对请求的url进行编码转换就直接发送请求,因此会出现异常勾上编码就可以解决了2、点击同样的脚本,运行就报Error occu
2020-07-07 15:05:40 2607
原创 python接口自动化第十三篇--正则表达式篇
正则表达式:正则匹配1、当匹配不到数据时会返回None,比如:2、‘\w’是字母,\d是匹配数字因为第二个字符并不是数字,所以会返回None3、‘*’星号表示匹配任意字符0次或者任意次 ,‘+’匹配任意次或者1次,星号与➕区别不是很大4、? 0次或者1次 加到表达式后面,就代表你才用的是非贪婪模式(1)非贪婪模式:图中\w* 在?前面表示匹配的是0次...
2020-02-26 11:11:05 435
原创 python接口自动化第十二篇--自动化测试报告浏览器输出篇 run
#整个框架需要用run 脚本去跑import osimport unittestfrom datetime import datetimefrom HTMLTestRunner_one import HTMLTestRunnerfrom TeacherWebsite.setting.constant import p_path#初始化suitsuit = unittest.Te...
2020-02-23 16:49:47 308
原创 python接口自动化第十一篇--配置文件中的常量篇 constant
#建立常量,可以吧所有可能会发生变动的常量import osclass ProjectPath(): #ROOT_PATH = os.path.dirname(os.path.abspath(__file__))#ROOT_PATH获取的文件夹是setting ROOT_PATH = os.path.dirname(os.path.dirname(os.path.abs...
2020-02-23 16:48:19 421
原创 python接口自动化第十篇--测试用例篇
说明:以上9篇文章是为自动化框架作准备,接下来开始记录测试用例篇,test case部分这里简单介绍下test case 的大概框架,具体项目内容需要和实际业务关联import configparserimport jsonimport osimport unittestfrom TeacherWebsite.common.config_handler import co...
2020-02-23 16:46:07 435
原创 python接口自动化第九篇--自动化框架说明
1、接口自动化基础框架(1)针对我们之前八篇文章里我们学习的都是各个驱动器,我们可以把这些驱动器放入到一个包里可以命名为common包(2)有驱动器就要有测试数据,就是我们平时用的Excel测试用例数据,我们统一放到一个包里,包名可以随意起,一般习惯性叫data(3)一个框架肯定要有一个配置文件的地方,我们可以统一放在一个包里,包的命名我们可以任意起,不过习惯性叫做sett...
2020-01-30 20:17:26 477
原创 python接口自动化第八篇--config 配置文件封装
import osfrom TeacherWebsite.setting.constant import p_pathfrom configparser import ConfigParser, NoSectionError, NoOptionErrorclass ConfigHandler: def __init__(self,filename,encoding='u...
2020-01-20 18:03:04 1807
原创 python接口自动化第七篇--封装日志logger优化
import logging#logging,快速收集器#快速创建一个logging收集器,Rootlogger#Rootlogger(WARNING)-->继承自Logger#Rootlogger的等级是warningclass LoggerHandler(logging.Logger): def __init__(self,name,level=0,file...
2020-01-20 17:58:18 435
原创 python接口自动化第六篇--封装Excel
1、Excel封装是为了框架中读取测试数据,打开我们设置写好的用例Excel文件该类里边最常用的就是read方法,经验所得最好以字典的方式进行读取举个例子,下图是我的测试用例,我们可以将第一行当作字典的‘key',比如:{‘caseid’:'1,2'}如果是采取列表方式,则后续可能我们对文件进行插入列的时候,就需要更改test_case文件的一些参数,很麻烦2、from ...
2020-01-20 17:41:42 459
原创 python接口自动化第五篇--封装python连接数据库(mysql)框架
#数据库操作封装import pymysqlclass DBHandler: def __init__(self,host=None,port=8111,user='root',password='',charset='utf8',database=None,**kw): '''初始化参数''' self.conn = pymysql.connect...
2019-12-30 21:00:31 828
原创 python接口自动化第四篇--python连接数据库(mysql)
对于其它方式的数据库,大同小异,这里以mysql为例子#连接数据库,这里展示的是pymysql#安装:pip install pymysqlimport pymysqlimport DictCursor#建立连接from pymysql.cursors import DictCursorconn = pymysql.connect(host = ''#域名 ...
2019-12-27 17:21:36 726
原创 python接口自动化第三篇--封装get和post的Cookie代码框架
# 封装get和postimport loggingimport requestsclass RequestsCookieHandler: def __init__(self): self.session = requests.Session()#用一个session去接收 def get(self, url, params, **kw): # ...
2019-12-27 17:16:17 651
原创 python接口自动化第二篇--封装get和post的代码框架
很多解释都注明在代码截图中#封装get和postimport loggingimport requestsclass RequestsHandler: def get(self,url,params,**kw):#**kwargs是不定长参数,headers是放在这个不定长参数里 #'''封装一个get方法,发送get请求''' try:#当处理不成...
2019-12-27 17:10:15 629
原创 测试结构随笔记录
测试金字塔最底层的单元测试是由开发人员进行,单元测试是最容易发现问题所在,service是接口测试,UI用户界面(集成)测试,越接近底层效率越高...
2019-12-27 16:58:59 136
原创 python接口自动化第一篇--requests库单个get和post请求的使用
本篇文章领会之前要会一点python的基础,不要求能写复杂的逻辑代码,但是能够看得懂requests为第三方库,使用前要安装一下,安装命令;pip installrequests(一般在pycharm里就会有提示,直接点击install就行)1、get接口请求2、post接口请求:...
2019-12-26 20:47:24 437
原创 接口传输参数方式和服务器响应方式
1、get请求只能在请求头里面拼接,就相当于form传参,没有其他传参方式2、post请求方式:(1)form表单(2)json3、服务器返回的响应方式
2019-12-26 17:24:48 733
原创 jmeter 录制脚本后的性能测试案例1
1、网站性能测试案例1:1.用户人数100人,并且所有用户同时点击服务器2.用户分别访问12个页面3.开始打开每个页面之前,我们需要设置一些等待时间(思考时间)(jmeter里添加一个固定定时器就可以)4.服务器的URL不能写死,要考虑测试环境,准生产环境和线上环境通用5.生成图表和表格报告。2、用户人数100人3、点击保存,再点击保存开始跑脚本4、也可...
2019-07-24 11:12:51 314
原创 jmeter录制脚本(Mac)
可以选择用bad boy录制脚本,但是bad boy只适用于win系统,所以本次主要介绍下Mac下录制脚本Mac下可使用jmeter下的http代理服务器录制脚本1、工作台--》http代理服务器2、添加线程组3、添加一个录制控制器(选择性添加),再添加两个元件:查看结果树、http请求默认值以上弄好之后最终目录节点:4、项目节点设置好后,现在来设置一下代理...
2019-07-23 21:11:50 2632 4
原创 Jmeter+Jenkins+Ant接口自动化测试平台搭建(Mac)输出测试报告(二)
1、首先将apache-jmeter-3.2extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下复制到你安装ant目录下的lib文件里(这里就不贴图里)/usr/local/Cellar/ant/1.10.6/libexec/lib提示:如果大家下载完ant后找不到路径,可以在终端输入命令:which ant2、在jmeter的根目录下创...
2019-07-19 17:49:56 584
原创 Jmeter+Jenkins+Ant接口自动化测试平台搭建(Mac)(一)
1、安装jmeter,这个安装在之前的文章有介绍,这里不多说2、安装home-brew(1)终端命令行输入: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"(2)借用网上的资料截图哈:输入命令后,此时终端显示为:...
2019-07-16 11:14:50 493
原创 jmter接口自动化个人设计
一、注册、登陆说明:以上均是来自本人自学设计的,借用公司项目,如有问题疑问可随时解答本人是Mac系统,安装的jmter 3.31、设置新增请求,因为有多个请求,所以增加了一个事务管理器,方便整理2、添加http请求因为要做接口自动化,所以会有多个请求,那么就要在事物器下添加多个请求,如下图3、做接口自动化,首先理解自动化的概念,就是可以代替手工去做一些重复性的工...
2019-06-10 20:51:11 509
原创 python+selenium自动化(二)打开火狐/chrome/IE浏览器
如何初始化一个webdriver实例对象driver,然后打开和关闭firefox/chrome浏览器,首先先去下载浏览器的插件【driver插件geckodriver.exe】,下载地址:https://github.com/mozilla/geckodriver/releases,下载好解压,将这个exe文件放到你安装python安装目录下1、用pycharm新建一个文件,输入以下...
2018-07-19 20:30:05 5164
原创 python+selenium 自动化(一)搭建环境
上一篇文章中介绍了pycharm,本章介绍selenium下载和环境得搭建1、下载Selenium for python :https://pypi.python.org/pypi/selenium#downloads下载tar.gz的包下载后解压文件:2、安装selenium(1)在cmd输入 python -m pip install selenium验...
2018-07-18 20:34:54 444
原创 python 脚本编辑器PyCharm安装下载
1、官网下载PyCharm http://www.jetbrains.com/pycharm/2、点击运行安装傻瓜式安装进行中~如果安装完不想运行,就不用勾选此处万能码:3、程序页面UI风格选择此时要把本机得HOST文件做修改4、最后安装成功,可以编写代码安装PyCharm之前先去下载Pytho...
2018-07-18 17:07:35 1909
原创 简单的SQL语句书写介绍
埋点测试就是为了实现数据的收集和分析,工作中通过第三方平台【这里使用的是神策后台】去查看相应的埋点数据1、神策简介:神策数据针对互联网企业提供大数据分析产品和解决方案,以及针对传统企业提供大数据相关咨询2、SQL语句查询【查看埋点字段表,执行对应有埋点的操作】检查埋点是否正确,出现错误的情况一般是:(1)、漏埋点,举个例子:进入教室这个事件,我想埋设备的信息,教室的ID等等一些点,但是在执行查询语...
2018-07-11 10:34:50 1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人