自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 收藏
  • 关注

原创 jmeter连接redis数据库

在做接口测试的时候,肯定绕不开登录,登录又绕不开验证码。下面以验证码存放在redis数据库中为例,讲一下如何连接redis数据库获取验证码1.首先下载对应的redis 包并放入到导入jmeter\lib目录下。jedis-2.2.1.jarcommons-pool-1.6.jar注:需要重启Jmeter才会生效2.编写beanshell脚本。 1 import redis.cli...

2022-05-07 15:24:00 96

原创 jmeter-通过json提取器 提取所有数据 给下个接口使用

前提:有2个接口,接口1和接口2吧。接口1中的返回值,要作为一个列表给接口2使用。步骤:先把接口1调试通过,查看响应结果,我们需要提取purchase_id这个值利用json提取器,提取对应的值。添加一个调试取样器,查看取到的数据:接口2中使用该值:接口2是json格式的请求,添加一个http 信息头管理器:接口2的请求中,就是接口1中返回数...

2021-07-13 16:59:00 127

原创 小程序的测试方法

小程序因功能和APP一致,开发速度快,成本低而日渐火爆。最近测试了一款小程序,列出了一些测试点。

2021-04-13 10:43:00 82

原创 adb logcat 查看Android APP日志

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。守护程序 (adbd):用于在...

2021-02-23 16:09:00 59

原创 Python:对象存储&拷贝&垃圾回收机制

一、Python的对象存储有2种方式:1)小整数池:-5到256的数字都存在这里,当我们定义一个对象时,不会重新分配内存地址,而是指向到小整数池的一个位置;栗子:a=25b=25c=288d=288其中:a 和 b 的内存地址是一个;c 和 d 指向2个内存地址;2)intern机制(大整数池):用来存放一些字符串(数字、字母、下划线的组合),如果包含特殊字符,则不在大整数池中;...

2020-12-30 17:39:00 17

原创 Python:setattr 和 delatrr 方法

setattr():表示你可以通过该方法,给对象添加或者修改指定的属性。delattr():删除某个属性值。class Info(object): def __init__(self,name,age): self.name=name self.age=age def __setattr__(self, key, value): ...

2020-12-28 16:30:00 30

原创 Python:__getattr__ 和 __getattribute__ 方法

__getattr____getattr__方法的自动执行,需要满足两个条件:一是通过实例访问属性;二是触发了AttributeError异常(属性不存在)。上图中,调用不存在的job属性,会首先调用__getattribute__方法,触发AttributeError异常并自动捕获,然后才调用__getattr__方法。__getattribute__该方法可以拦截对对象属...

2020-12-28 14:27:00 31

原创 Python:生成器

本文参考博客:https://www.cnblogs.com/huchong/p/7274073.htmlPython中提供的生成器:1.生成器函数:yield. yield语句一次返回一个结果,不会终止函数的运行。2.生成器表达式。一、生成器Generator:    本质:迭代器(自带了__iter__ 和 __next__方法)二、生成器函数--yield:    一个包含...

2020-12-26 14:30:00 17

原创 Python:迭代器

本文参考博客https://www.cnblogs.com/huchong/p/7274073.html1. 在讲迭代器之前,我们先来讲一下迭代,什么是迭代呢?可以将某个数据集内的数据“一个挨着一个的取出来”,就叫做迭代。比如我们平时用的的for循环····2. 可以满足迭代要求的就叫做可迭代协议。可迭代协议的定义,就是内部实现了__iter__方法。 如下:像列表、元组、字典、集...

2020-12-25 17:14:00 13

原创 Django初学习(九):后台管理-- 自定义注册模型

自定义注册模型,可以在对应的APP下,找到admin.py文件,在这里定义一个后台管理类(展示效果)。1.定义一个后台管理类,自定义显示效果;2.查看后台显示;3.可以点击“增加”添加博客;列表页面:操作是这样的,具体的原来还不太明白~...

2020-06-30 17:50:00 15

原创 Django初学习(八):后台管理--添加超级管理员

Django框架自带后台管理系统,在主路由的配置中我们就可以看到,如图。启动服务后,访问一下这个地址:http://127.0.0.1:8000/admin/,是打开后台管理页面。一、修改语言:打开的页面是英文版的,可以在settings设置为中文;LANGUAGE_CODE = 'zh-hans'二、接下来我们要创建超级管理员账号,以便登录后台。终端执行命令:python man...

2020-06-30 11:26:00 46

原创 Django初学习(七):创建模型

一、确保配置文件的正确性(类型和地址);二、进入应用下面,找到models.py文件,创建模型;1)ORC模型其实就是一个类,必须继承models.Model。2)类名代表表名,类属性代表字段名。3)编写类:4)修改配置文件,确保当前应用已经添加到应用列表APP中5)生成迁移文件,在终端执行命令:python manage.py makemigrations6)执行...

2020-06-28 17:56:00 19

原创 Django初学习(六):模板--静态文件的加载

如果想设置HTML的样式,我们可以添加css文件;如果想要展示某个图片,我们也可以添加img····这些都属于静态文件。如何配置使用这些静态文件呢?1.新增一个文件夹,可以命名为static;2.进入settings文件中修改配置--设置路径;3. 添加静态文件,如css样式、和img4. 在模板中加载static文件( 注意:首行添加{% load static %} ,...

2020-06-19 10:01:00 14

原创 Django初学习(五):模板-反向解析url地址

如果在HTML页面中想要跳转到其它页面,一种方式是直接写死url,这种方式比较死板。还有另外一种方式,就是反向解析url。 格式:{% url ‘命名空间:url的name’ %}注意:需要在路由中设置命名空间刷新页面:...

2020-06-19 09:27:00 16

原创 Django初学习(四):模板-上下文管理器的使用

context:上下文管理器,要求必须是字典。render 的第三个参数。用途:将视图中定义的数据,给HTML页面,HTML进行解析。1. 在views中定义context2.在HTML中展示出来(a. 普遍的变量 b. for标签 c. 多重字典)3.刷新网页重点在于:几种数据如何在HTML中取值展示...

2020-06-18 18:12:00 19

原创 Django初学习(三):模板的使用

~~~~~~~~~~~继续对昨天的练习进行总结~~~~~~~~~~模板:DTL(django temlemnt language) ,Django 模板 引擎。是一个HTML文件,可以解析变量、标签,完成if/for 等业务逻辑,从而完成一个丰富的页面展示。现在我们开始操作吧~1.在项目下新增一个template的文件夹,并新增HTML文件。2.编写HTML样式,可以加入一些简单的&...

2020-06-18 17:42:00 26

原创 Django初学习(二):路由&子路由

继续总结,主要是路由&子路由的配置。在urls.py文件中已经写明,设置路由有3种方式(方法、类 和 其他子路由)。上一篇我们只讲述了视图中定义方法。今天来讲下后面两种。1. 创建一个简单的类,里面有2个固定的方法,代表get和post请求;2. 在该应用下新增一个子路由(将主路由拷贝过来就可以,拷贝后要将默认的path('admin/', admin.site.urls)改...

2020-06-18 17:06:00 16

原创 django初学习(一):项目入门

以下记录我的操作过程,与过程中遇到的小问题。作为总结与后期的回顾,如果对大家有帮助很开心。1.环境准备&创建应用:本机已经有了Python的环境,进入pycharm中1)新建一个project- --RestfulApi;2)安装插件(我是通过file-settings的页面方式添加的,安装插件Django 和 Djangoresetframework)3)启动服务,进入终端执...

2020-06-18 16:24:00 17

原创 Redis:内存型数据库

Redis基本介绍:使用场景:一、安装1.下载安装包,放到Linux上某个目录中;2.解压:tar xvf redis---.tar.gz3.安装gcc(redis安装依赖C语言环境,需要gcc):yum install gcc4.进入解压后的Redis目录,执行编译操作:make MALLOC=libc5.执行按钮命令;make install;6.安装完成。二、启动...

2020-06-11 10:57:00 14

原创 Monkey 稳定性测试

monkey 作为日常安卓手机APP压力测试工具,其实前身是手机在出产商之前,厂商用来测试手机稳定性的,如电话、短信、设置等预置APP的。随着各种应用社交APP的广泛应用,我们测试人员也越多地来使用monkey进行压力测试了。-s 12345 :设定一个序列,序列值为12345。每次进行修改。如果想复现某次的操作序列,可以设置相同的序列。--throttle ms : 每个事件之间设...

2020-06-10 17:31:00 11

原创 Linux三剑客☞grep

对于很多人来说,grep命令都很熟悉,我接触的第一个命令就是:ps -ef | grep tomcat。当时从开发那里学到这个命令的时候不知什么意思,反正就是查找对应的进程,然后启动或杀死服务。今天我们来深入了解一下。命令语法grep提供两种方式:grep [option] [pattern] testfilestdout | grep [option] [pattern]一种...

2020-06-09 17:15:00 13

原创 linux 命令三剑客☞sed

sed命令作为三剑客的一份子,主要功能有增删改查,可以对各种文件进行操作。搜索某个文件中出现频率最高的前5个单词,主要使用sed的替换功能...

2020-06-09 16:29:00 15

原创 linux 命令三剑客☞awk

1.某文件又多列数据,空格隔开,统计第n列数据,并打印出现次数最高的5条数据;  awk:主要对比较复杂的格式进行格式化处理option选项:当分隔符不是空格时,通过-F ' ' 进行查询模式:模式就是条件的意思,过滤要打印的数据, 先过滤再执行动作--------------------------------------------------------------...

2020-06-09 16:07:00 20

原创 接口测试流程

1.需求调研  1.1 接口协议:http、webservice、Dubbo  1.2 接口功能:是新增还是保存?  1.3 接口数据流转:影响、有没有缓存  1.4 接口加密方式:md5/公钥、私钥、签名  1.5 接口测试的范围:功能、性能、安全?2.根据接口协议选择接口测试工具  jmeter、postman、  soapui(webservice)  代码(pyt...

2020-06-09 10:16:00 14

原创 本地部署YApi环境

无意间get到了YApi接口测试平台,是去哪儿网自主开发的,并且很多公司都在使用。工作之余觉得自己搭建一下,研究研究。参考博客:https://blog.csdn.net/huaweichenai/article/details/101705981博客里面写的非常的详细,也给出了关联软件的下载及安装方法;依赖软件:1.node.js (7以上)2.mongdb3.git注意的地...

2020-05-15 09:50:00 11

原创 面试【3】:cookie & session 傻傻分不清

面试时常常被问到,cookie和session你知道什么区别吗?一张图说明(有点丑)参考博客:https://www.cnblogs.com/nickjiang/p/9148136.html(写的很详细,图文并茂)手机APP一般用token,基本和session一致。哦,大概就是这些了吧。。。。。。。。。我好像又松懈了---------------------------------...

2020-05-09 14:10:00 23

原创 面试【2】:软件测试的依据,远不止需求文档那么简单~

说明,本文转载自https://www.cnblogs.com/yingyingja/p/9645243.html#4067184,谢谢。自己工作了7/8年了,但是由于对平时的工作缺少总结与思考,面试时往往失败。加上最近感觉自己出现了职业倦怠的情况,决定要改变。先把网上一些好的文章见解总结记录下来,既可以复盘的时候用,也作为自己的小小知识库。本文知识相关---测试的依据有哪些?1)首先当...

2020-05-09 11:23:00 14

原创 面试【1】:如何判断一个bug是前台还是后台?

一、为什么要这么做?更准确的提交bug给开发人员,可以快速的解决bug,同时体现测试人员的专业性。二、如何判断?1.通过浏览器自带的F12调试功能2.主要查看“控制台”和“网络”标签页;3.如果控制的有js的错误,可以定位为前台bug; 如果发送请求正常,后台返回代码为500,则为后台bug; 如果发送请求正常,但是后台返回代码为404,可能为前台或后台的bug,不能确定。...

2020-05-09 10:54:00 23

原创 Python:匿名函数lambda的函数用法和排序用法-1024勋章有点意思

一、介绍:Lambda函数,是一个匿名函数,创建语法:lambda parameters:expressparameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或yield)函数。如果为元组,则应用圆括号将其包含起来。调用lambda函数,返回的结果是对表达式计算产...

2019-10-24 10:40:10 221

原创 Python:使用 BeautifulSoup 库抓取百度天气

最近研究了Python的BeautifulSoup库,用起来还挺好玩的一、安装:使用pip命令在线安装;在cmd窗口中输入:pip install beautilfulsoup4二、代码思路:1.使用request获取相关网页的返回值,即HTML对象; 方法一2.通过BeautifulSoup库对HTML页面元素进行解析,需要先分析要抓取的内容在哪里,再通过代码获取,存储在列表中;方法二3....

2019-08-20 11:45:00 27

原创 Appium测试时常用的一些adb 命令

aapt dump badging f:\resign\ListenerApk.apk #查看apk的包名和活动页(package&Acvitity)aapt dump bading xxxx.apk > out.txt #将内容打印到文件中需要安装有aapt,并配置环境变量;...

2019-08-14 15:32:00 9

原创 Appium之 如何搭建APP自动化测试环境(Windows环境)

想要完成APP的自动化测试,首先需要在本机安装好环境,需要以下几个软件:1.node.js(安装appium时依赖,官网可以下载)2.appium-desktop:Appium Server的图形界面。类似于web自动化时的chromdriver,不过这个需要每次都启动一下; like this:下载地址:https://github.com/appium/appium-desktop...

2019-08-14 10:36:00 11

转载 观奴性哲学有感

兼听则明,偏信则暗,以下种种,博君一笑。NO.1【你不能改变别人,只能改变自己】适用人群:这句话对有一种人是管用的,那就是一天到晚只会嫌别人做的不好,似乎全天下都欠了他从来不反思自己是不是有问题的人。特别是那种试图让全世界都按照他们的方式运转的人。只可惜,越是这种人,喊“改变自己”喊得越响,他们是在要求别人改变来适应他们的固执。奴性潜台词:改变有很多种,但是一大部分喜欢用这句话给...

2019-07-18 13:57:55 299

原创 个人总结(四):class---- 类

类的3个方法:1.实例方法,有self,必须实例调用;2.类方法:@cls装饰,不能调用属性值; 可以实例调用,也可以不需要实例调用; 类方法和静态方法的区别:类方法需要传递一个默认参数cls,其他无不同3.静态方法:@staticmethod装饰,普通函数,不能调用属性值; 可以实例调用,也可以不需要实例调用;如果用不到类的属性时,可以使用类方法或者静态方法;...

2019-06-06 15:17:00 11

原创 自我总结(三):用例的可配置

第一阶段:excel读取数据时,设置一个mode参数,默认值为all,读取所有用例;用例值传入一个列表,执行对应的用例;进阶:通过配置文件来决定执行的用例1.新建文件,文件名:config结尾;2.由3个部分组成,section(片区,必须中括号括起来),option(选项,等号左侧),value(选项,等号右侧)[MODE]mode=all3.读取配置文件:引入configpar...

2019-06-05 18:03:00 14

原创 自我总结(二)测试数据参数化:ddt+unittest

测试数据的参数化有2种方式,超继承 和 ddt。ddt 的使用更加方便,简单。下面总结ddt。@ddt 装饰器,用来装饰测试用例@data(*test_data) 脱外套执行用例,用loader加载...

2019-06-05 17:04:00 12

原创 个人总结(一):请求之间存在关联性如何处理?

当2个接口直接有关联性,第二个请求需要使用第一个请求的返回值,如何实现???1.全局变量2.反射3.setUp()初始化函数

2019-06-04 18:10:00 15

原创 Jmeter实战记录------手机APP新增预报压测(“multipart/form-data”格式)

距离上次压测已经一年之久了,中间也又学习过一些压测的知识,这次项目中有自动生成编号的功能,就想着测一下吧。搞起来还挺简单的。项目简介:手机端新增数据,提交到后台,会自动生成一个编号;目标:保证压测时编号不会重复;第一步:手机端设置代理,通过fiddler进行抓包;(http请求很好抓,貌似要抓https的请求还需要在手机端安装一个认证,可以百度)此处没有截图,可以搜索fiddler手机...

2019-05-16 16:19:00 28

原创 Python:匿名函数lambda的函数用法和排序用法

Python:匿名函数lambda的函数用法和排序用法 一、介绍:Lambda函数,是一个匿名函数,创建语法:lambda parameters:expressparameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或y...

2019-03-29 17:56:00 1305

原创 Python:正则表达式(二):如何使用re.search()返回的匹配对象中的具体内容呢??...

Python:正则表达式(二):如何使用re.search()返回的匹配对象中的具体内容呢?? 在上一篇中讲述了re.seach()会返回一个对象格式的数据,如下:<_sre.SRE_Match object; span=(16, 24), match='${phone}'>那么问题来了,我们如何获得并使用我们想要的值呢???再来...

2019-03-28 16:37:00 10697 2

空空如也

空空如也

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

TA关注的人

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