![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
接口测试
gogoboi_jin
这个作者很懒,什么都没留下…
展开
-
python类相关基础
背景:今天看目前自动化框架,补充一下python基础知识,顺道梳理一下。1.类专用方法:__init__这个实例的构造函数,在函数中我们可以初始化实例属性比如说身高,性别等,接口框架中常见就是requests的封装,如图:这里面主要封装了头文件headerts,get请求入参params和post请求data为了保证灵活性,增加二次赋值的动作和增加的动作。这个其实很像java方法传入对象之后set()和get()来赋值属性一样。2.私有化python一般采用两个下划线+属性例如.原创 2021-03-08 15:54:49 · 224 阅读 · 1 评论 -
mybatis插入问题总结
1.单元测试我当时单测的时候,没有在test类里面去写,是在calss类里面写了一个入口函数,直接调用的类的方法,如果功能代码有用到spring的注解如图这样的不能直接注入成功的,因为spring根本没有运行,直观的错误提示就是一直在报错空指针,因为实例contratDAO就是null,如图:ps:这个问题我找了2天,刚开始以为字段缺失没有值的原因,网上各种找,最后问了RD发现这个...原创 2020-01-14 20:22:42 · 813 阅读 · 0 评论 -
广告详情页类别补足策略和一些测试想法
需求背景:在广告位商品详情页,当搜索推荐返回物料不足时,触发我们自己补足策略。补足逻辑根据商品详情页(infoid反查类别)当满足配置key就会返回对应values的物料进行补足。1.补足逻辑:目前线上补足策略:adsearch->zzvisitrecommend 搜索推荐会根据infoid来返回推荐的物料,如果该类别物料不足或者不满足条件那么就不会返回物料。所以这个广告位的物...原创 2020-01-09 16:00:43 · 298 阅读 · 0 评论 -
jmeter编写java请求脚本压测(一)
背景:随着商业业务不断扩张,调用adsearch服务频率越来越高,所以这次想做个压测,了解目前多少并发量可以到达adsearch服务的界值。这次选用的jmeter压测工具,压测思路如图1.日志入参1.1 日志选取的adsearch的 getads部分,如图思路:rd线上获取该部分入参下载到本地,我们读取该部分生成入参对象。(这个套路用到很多工具上,比较省事不用拼参数)1...原创 2020-01-09 15:52:22 · 5529 阅读 · 0 评论 -
接口测试-工作心得记录五(接口采样和验证列表重复数据)
背景:最近写接口测试的时候遇到一个比较特殊接口response,正好也用到采样的测试思想,就想拿出来写写。接口采样上一个app版本上了一个获取简历筛选的接口,服务端返回没有分页直接吐给客户端,json结构如下:{ “code”:0,“name”:“success”“message”:"","data":[{"postid":"","posttitle":""原创 2017-12-30 16:43:28 · 3205 阅读 · 0 评论 -
接口测试-工作心得记录七(使用assertpy库断言和利用assertpy库改写接口response的check方法)
背景:刚发完一个小版本空下来的这两天在看testerhome论坛的时候看到之前孙高飞一个帖子,测试框架的数据管理其中说到了assertJ(他是写java)的断言库真的看的特别好用,后来就找了一下发现python有一个assertpy库虽然没有assertJ功能强大,但是断言方面真的是功能强大并且好用,拿出来分享一个,说一下我的思路。1.assertpy库大体上先说一下assertpy这个库原创 2018-01-24 16:14:00 · 3154 阅读 · 0 评论 -
接口测试-工作心得记录八(使用locust库书写接口并发)
年前功能不提测,这几天看了pytest强大是强大,但是不知道怎么用和怎么替换之前用unittest写的case,我最近在想想多看看文档找找思路。换个脑子就把之前想写的接口并发locust写的东西拿出来写一个,目前还不到以后什么时候能用到就拿出来直接改改就用了。接口性能本身也是一个非常大的概念,太复杂了,各种参数的意义,怎么调整等等都需要在实践中慢慢体会,虽然目前工作还没有这个条件(我司不允许线上做原创 2018-02-01 19:53:31 · 3781 阅读 · 5 评论 -
接口测试-工作心得记录九(使用flask尝试接口mock)
目前还没有提测,这两天看的debugtalk的博客,写了有关于接口mock,以前觉得这个实现特别复杂,看他的博客觉得实现简单的还可以,从昨天就调试了一下,根据现有的test环境逻辑写了一个觉得很有意思就想写一篇记录一下,以后想加到自己的接口框架去。因为前端业务测试的时候也会一个接口response返回不同前端会有不同的处理逻辑(比如说跳转不同页面啊,什么的),以前可能是需要改数据库或者造对应的数据原创 2018-02-23 19:01:58 · 1809 阅读 · 0 评论 -
接口测试-工作心得记录十(目前测试框架总结基于unittest)
背景:明天有面试,今天想写个帖子总结一个我目前接口框架整体架构和想法,算是一个总结帖吧。这次我想基于unittest四大组件:testfixture,testcase,testsuite和testload.testfixture翻译过来应该叫做“测试资源准备”吧,对应方法setUp()和tearDowm()(后面我统称为testfixture了)。这个可以说xunit单测框架系中很核心原创 2018-03-11 19:21:10 · 1938 阅读 · 0 评论 -
接口测试-工作心得记录十一(unittest.skipif使用)
背景:最近把jenkins的调用频率调高了,这样就遇到之前没有遇到的问题,接口不同调用频率对应response返回json结构体会有不同。举个例子,商户端都有发帖的功能,postpub发布接口一天只能发布10个帖子,当超过10个的时候就会有不同的json结构体。面对这样的问题,解决方法我想到就2个,第一就是在书写case的时候写两个hope_response,在check接口返回response的原创 2018-03-24 10:20:13 · 2445 阅读 · 0 评论 -
接口测试-工作心得记录十二(装饰器的使用)
这个装饰器的功能写完有一阵子了,有个提测任务(也是在斗米最后的上线任务了)就一直没写博客,今天放假没什么事简单写一下。接口有这样一种测试场景就是有些接口(尤其是主流程接口)可能想要动态的增加测试用能(比如说接口响应时间,日志功能等等),这样就需要使用装饰器来修饰case,既灵活又不需要修改case代码,方便好用,这也是我想写这篇博客的原因。装饰器功能强大,我目前就只会使用最简单的形式,也是看了别的...原创 2018-04-07 14:22:30 · 504 阅读 · 0 评论 -
html标签语言学习一(基本使用)
上个月忙着换工作,也没什么时间写点东西,今天5.1放假来公司瞎看看,把今天弄得学习总结一下。先说一下为啥想学html,其实从两方面考虑,第一呢还是围绕的测试工作的目的,一直想写一个mock的web页面可以动态的添加接口mock返回,这个也是我下半年接口测试框架添加的重点,思路基于flask做web,我关注了论坛别人写的多少都会用到html,毕竟也是经典的东西学学总是好的。第二呢python的req...原创 2018-05-01 19:31:44 · 858 阅读 · 0 评论 -
接口测试-工作心得记录六(重写unittest断言类)
背景:年底了技术部有人陆续离职,我负责B端业务线也有了影响,迭代速度慢了,正好趁这个时间把之前一直想改的接口框架有一个痛点改一下。之前我在写case的时候回断言接口的返回,一般都是response['code']的值,如果code!=0(0是rd自行约定的)assertEqual就会抛出一个assertError的异常,这样我就要捕获异常,然后出发发送短信和微信push的功能。那么问题来了,因为每原创 2018-01-05 14:36:09 · 2770 阅读 · 0 评论 -
接口测试-工作心得记录四(多接口调用和对应数据库表的创建,修改)
背景:刚发一个版本有点时间去写的东西,顺道把下个版本的用到的测试脚本准备一下。先说一下大体内容吧,我司准备做一个活动来拉注册,流程是用户A分享给自己的朋友用户B,B在平台注册成功、发帖并审核成功后用户A会得到相应的优惠券。看着很简单但这里面涉及到注册,完善公司资料,资质审核\公司资质审核,发帖共4个环节,下面就一步步说。1.注册注册呢我刚开始想着走注册接口,但是注册想要获取验证码一个会有一原创 2017-12-27 10:08:07 · 4586 阅读 · 0 评论 -
接口测试-工作心得记录三(调用微信接口发送监控消息)
背景:前几天在论坛看到有人分享一个调用企业微信接口发送监控消息的帖子(最后会附上链接),看完之后觉得特别赞,原因因为之前我一直当接口报错时发送邮件和短信。用了一段时间觉得,邮件这个非常鸡肋,基本不看,烦的很。一直都想替换掉但是苦于没有更好的,本来以为会很复杂回来看了一下企业微信的api文档,写的真的是不错,上手速度很快,用起来很方便。大概说一下企业微信的注册流程:非常简单登录自己的微信创建原创 2017-12-20 15:16:07 · 3904 阅读 · 3 评论 -
python requests库翻译(一)
背景:一直想想把request的库的英文版翻译一下,更多是把一下自己不常用的方法巩固一下,最近不是特别忙就翻译的玩吧。其实网上有一篇写的特别详细的文章了,就当作自己消化理解。直接从quickstart模块开始翻译吧一。发送请求首先要导入requests模块>>> import requests首先用get方法获取一个web页面,获取github的时间线。get方法为ht翻译 2017-05-17 14:11:28 · 651 阅读 · 0 评论 -
python requests库翻译(三)-response
一.Response的状态码我们可以确定返回的状态码>>> import requests>>> r = requests.get('http://httpbin.org/get')>>> r.status_code200备注:调用.status_code属性查看接口返回的状态Requests有内置的状态吗查找对象,例如:>>> r.st翻译 2017-05-24 10:13:10 · 647 阅读 · 0 评论 -
python unittest小结(一)
背景:想总结一个unittest框架一个分享,因为这个无论做接口测试还是appium写UI,这个都是最主流的单元测试框架,写个玩玩,其实网上有很多unittest分享,我也看了好多有一些写的真的很好,我也觉得挺受用的,自己写就是做个总结。能用到一共三个:testCase,testSuite,textTestRunner这个三个概念。一.testCasetestcase本质就是一个完整的原创 2017-05-26 10:00:08 · 4239 阅读 · 0 评论 -
接口测试-python encoding
背景:最近公司接口增加了很多安全校验后来发现编写用例有一个坑,改了好久仍然被挡在外面后来和rd查日志才发现是参数没有encoding。具体是请求接口时params肯定是dict类型的就是这种{"A":"B"},因为传的json格式的,起初参数都是写死的值没有问题,后来发现写死对于case维护成本太高就修改成用orm链接数据库动态从库里取值,但是之前没有校验类型也有返回,这一版本加了params原创 2017-05-09 16:04:49 · 388 阅读 · 0 评论 -
python ConfigParser库使用和遇到的坑
背景:这几天想在接口测试中增加logging打印功能,在testerHome正好发现有人分享自己的接口框架,看了之后其中用到ConfigParser,然后自己写了遇到一个坑,写下来用于备注吧。首先就描述一下坑:ConfigParser主要就是读写配置文件,文件格式包括.ini,.conf。我是这么想的在本地新建.text文本格式,把配置书写进去然后修改成.ini或者.conf拖拽进eclisp原创 2017-06-05 19:31:27 · 17043 阅读 · 1 评论 -
python logging模块学习记录
最近在逛论坛发现很多小伙伴分享的接口测试框架中都增加了日志模块,想想也对毕竟log是最基本的东西,用于存储每条case的request和response。其中logging模块是用的最多的,老实说这个模块对我来说刚开始还是挺难用的,看的很多遍也算是捋顺了一些,写下来希望能对别人有点作用。ps:我是根据testerhome一篇帖子内容加一下自己的东西的,我会在后面加上该帖子的url,有兴趣的可以去看翻译 2017-07-11 10:14:07 · 243 阅读 · 0 评论 -
python 接口测试response返回数据对比
背景:之前写的接口测试一直没有支持无限嵌套对比key,上次testerhome逛论坛,有人分享了他的框架,看了一下,有些地方不合适我这边自己修改了一下,部署在jenkins上跑完效果还不错,拿出来分享一下。ps:还是要多看看别人写的,新学了不少python自带的一些常用方法。这次直接上代码,下面写一下这次我新学一些方法和思路。def check_response_hope_key(原创 2017-06-14 11:03:33 · 16290 阅读 · 1 评论 -
接口测试工作心得记录一
最近测试公司新的app,首页帖子列表逻辑是基于用户行为帖子会发生排序变化的需求,越来越发现还是通过接口测试会很方便的,比如说该帖子打上标签之后会排到后面,这个你通过前端功能去找这个帖子难度太高了,毕竟好多测试环境数据帖子都是从别的库里面同步过来的,这样的话可以通过请求接口遍历response的postid来计算该帖子在第几页,还能测试帖子分页的时候加载是否会有重复等等,这几天边测试也边写了一些还学原创 2017-08-16 19:50:45 · 841 阅读 · 0 评论 -
python ORM链接数据库-sqlalchemy库的使用(一)
最近上线的任务有点多,一直想写的东西也没啥时间,赶上周六在公司附近体检顺道就来公司写的东西。今天就简单写一个python连接数据库的第三方库sqlalchemy一点点自己的使用心得。1.说说接口测试为什么要连接数据库,大体上分为两部分,第一部分就是request和response,请求发送给服务端,服务端收到请求后给我们对应的response(数据类型是字典格式),其中请求中的一些参数当然可以原创 2017-08-05 14:17:51 · 1217 阅读 · 0 评论 -
接口测试-使用枚举类型
好久没写了,刚开始有点忙,后来有点懒了,果然什么事还是要勤快点。之前看论坛的时候有一篇帖子(最后有链接)建议把接口response['code']和response['msg']定义成枚举类型,这样以后服务端发生变更时只要更改一个枚举类就可以了。刚开始写接口case的时候没当回事,就是assertEqual(response['code'],a),a表示要断言的一般都是整型数据。结果给自己挖坑了,原创 2017-10-25 13:45:42 · 5088 阅读 · 0 评论 -
接口测试-工作心得记录二
又是小一个月才写这篇,有的时候还不知道要写什么。刚发了一个大版本app版本,后面有些下一个版本的客户端测试用用例,和PM撕测试排期各种新仇旧怨各种撕逼真的是挺无语的。呵呵,昨天写测试脚本的遇到一个小问题我觉得正好拿出来写一篇。背景:最近test环境测试的总会遇到RD需要找你造数据的情况(我负责商家端,各种发帖子,但是字段又特别多),发完帖子,还要去crm去审核,当然直接改数据库也可以,一般原创 2017-11-22 17:35:57 · 705 阅读 · 0 评论 -
python requests库翻译(二)
这篇是继续上一篇七.自定义headers如果你想发送一个带头(header)的请求,只需要传入一个字典类型的headers参数就可以了下面的例子中加一个用户里代理参数在头文件中:>>> url = 'https://api.github.com/some/endpoint'>>> headers = {'user-agent': 'my-app/0.0.1'}翻译 2017-05-23 16:32:23 · 393 阅读 · 0 评论