![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python接口自动化
文章平均质量分 65
python 接口自动化分析与实践
我是海浪
我还在想一个合适的开场白
展开
-
Python中用logging编写属于自己的日志系统
一、日志集成,为什么要写日志?在公司开发的任何一个系统都会有日志设计,通过日志,把系统的行为记录并保存起来,一旦系统发生了一些问题便可以通过日志去分析问题发生在哪里,是因为什么原因发生的。同样,我们在设计测试框架的时候,也可以通过设计日志来记录框架的整个测试流程,一旦执行过程中出现异常,我们也能通过日志中记录的错误信息找到问题发生的症结。Python的logging模块,有关logging我们需要了解如下一些信息:日志分为5个级别,分别是:DEBUG、INFO、WARNING、ERROR、CRITI原创 2021-10-31 17:00:51 · 1070 阅读 · 2 评论 -
xpath定位总结
xpath定位总结:nodename :选取此节点的所有子节点。/ :从根节点选取。绝对定位// :从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 相对定位. :选取当前节点。…:选取当前节点的父节点。@ :选取属性。'* :通配符。匹配所有元素节点@* : 通配符。匹配元素的所有属性轴运算:ancestor:祖先结点 包括父parent:父结点preceding:当前元素节点标签之前的所有结点。(html页面先后顺序)例://div//table//td//prece原创 2021-10-24 23:15:07 · 186 阅读 · 0 评论 -
自动化用例设计原则
1、不是所有的手工用例都要转为自动化测试用例。2、考虑到脚本开发的成本,不要选择流程太复杂的用例。如果有必要,可以考虑把流程拆分成多个用例来实现脚本。3、选择的用例最好可以构建成场景。例如,一个功能模块,分多个用例,多个用例使用同一个场景。?4、选择的用例可以带有目的性。例如,这部分是用例做冒烟测试,那部分用例是做回归测试等,当然,会存在重叠的关系。如果当前用例不能满足需求,那么唯有修改用例...原创 2019-10-15 22:50:40 · 245 阅读 · 0 评论 -
2、网络基础知识
一、计算机网络概念与分类1、计算机的定义计算机网络是在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具 有独立功能的多个计算机系统连接起来,通过网络操作系统等网络软件实现通信和资源共享 的系统。 计算机网络中至少拥有两台以上的计算机。 传输媒体和通信设备把若干台计算机连接到了一起。 为需要网络软件,含操作系统。 为了正确地通信,需要有一个共同遵守的约定——通信协议。 把多台计算机连接在一起,形成一个网络,是为了通信和资源共享。2、计算机网络的分类 根据覆盖地理范围原创 2021-01-17 21:58:59 · 219 阅读 · 0 评论 -
1、软件测试为什么要自动化?自动化测试的优缺点有哪些?
理解软件自动化1、自动化测试的含义2、软件测试为什么要自动化?3、自动化测试的优点?4、自动化测试的缺点?5、自动化测试应用场合6、不正确的自动化测试期望7、自动化测试工具的选择1、自动化测试的含义自动测试就是用程序代替人的手工操作,完成一系列测试的过程。自动化工具能自动打开程序、自动执行测试用例、自动查找控件、自动产生数据、自动输入数据、自动操作控件、自动收集结果、自动比较实际结果与预期结果是否一致。2、软件测试为什么要自动化?软件测试是一件工作量巨大的工作软件测试包含大量的重复性操作;原创 2021-01-28 15:29:44 · 2944 阅读 · 0 评论 -
Python实现接口Excel用例变量设计,测试数据参数化
1、设计用例变量,提高参数灵活性在DoExcel 加入断言,执行测试,完成测试结果回写一文中,自动化测试已经实现了,但是每次还是需要自己手动去修改测试数据,Excel用例的参数列现在也可以来设计一些变量,在do_excel方法中再去替换变量的值,保证唯一性约束的参数每一次测试的时候数据都不一样,使得我们的测试框架可以重复执行,并且免去每次测试前手动修改用例中测试数据的烦恼。2、以注册接口的用例设计为例,如只参数化注册的手机:3、红色标记的${mobile}就是我们要替换的手机号,参数化的手机号我们存原创 2021-07-13 00:10:38 · 1129 阅读 · 3 评论 -
DoExcel 加入断言,执行测试,完成测试结果回写
在测试一个功能模块的时候我们判断一个功能示范正常的途经是直接比较实际测试结果和期望值,同样做接口测试也是一样,在实现接口自动化测试的时候,我们有一个很重要的问题需要解决,就是怎样去比较实际值和期望值。有人会想到用断言的技术来实现unittest的断言确实可以比较两个值是否一样,可以在用例Excel的期望值后面增加一列实际值来记录接口响应的数据,这样当接口项目完成了测试,我们就拿到了所有的接口响应数据,直接对比两列的数据我们就能看出来到底哪些用例测试通过了哪些没有测试通过,把测试结果以及响应结果都写回到Ex原创 2021-07-11 20:43:04 · 600 阅读 · 4 评论 -
Excel数据源结合单元测试、DDT进行测试
结合解决方案—DDT解决批量测试的问题以及接口自动化数据源问题完成接口的批量测试。from common.http_request import HTTPRequest来自接口自动化前期准备及统一封装接口请求from test_http_excel import DoExcel接口自动化数据源问题新建一个run.py文件示范代码如下所示:import unittestfrom ddt import ddt, datafrom common.http_request import HTTPRequ原创 2021-06-03 00:16:07 · 254 阅读 · 0 评论 -
接口自动化数据源问题
1、常见数据源类型数据源说的是数据的源头,数据来自于哪里。在实现接口自动化测试的过程中,测试数据来源的问题是我们需要去解决的一个重要问题,并且,选择什么样的数据源可能会直接影响到我们测试框架的设计难度,执行效率和扩展性。那么在自动化测试的实现过程中,可以作为数据源的技术有哪些呢?Excel文件:管理方便,操作性强,增加一行一列都非常简单CSV文件:管理方便,操作性强,增加一行一列都非常简单数据库:相对来说没那么容易维护,表设计更复杂,修改表结构都需要通过SQL脚本执行,并且需要自己去实现一套数据原创 2021-06-02 23:33:40 · 640 阅读 · 0 评论 -
解决方案—DDT解决批量测试的问题
在 单接口的批量测试如何做?中已经将问题抛出,我们该如何去解决这个问题呢?第一种办法是我们自己去编码实现一条解决方案,但是成本太高,而且可能写出来的框架有很多问题,第二种办法就是去找一些第三方的框架来帮助我们来解决这个问题,而ddt正是我们想要找的这样一个框架,我们准备一个测试方法,并把测试数据分离开来存储,测试方法代码如下:...原创 2021-05-31 23:59:19 · 308 阅读 · 0 评论 -
单接口的批量测试如何做?
1、痛点—一条用例一个测试方法在接口自动化前期准备及统一封装接口请求中,已经写代码实现了登录接口的处理调用,但是一个接口往往是需要多条测试用例才能完整的覆盖到每一种情况,针对对单接口多条测试用例需要执行的情况,该如何处理呢?在unittest的测试类中定义多个测试方法来完成测试,这可能是大家最先想到的一个解决方法,当然也是能够达到目的的,以下面的注册接口为例,我们基于此思路来编码实现接口的完整测试。接口业务:会员注册接口地址:http://test.lemonban.com/futureloan/原创 2021-05-31 23:01:09 · 428 阅读 · 2 评论 -
接口自动化前期准备及统一封装接口请求
在python中可以使用requests这个第三方的库来解决接口调用一系列问题,方便,快速,并且简单。1、在做接口测试前,我们要做好数据分离,建好不同的package以及不同的目录,方便我们后期归纳整理代码,方便我们调用,达到最高的复用性。新建一个项目,命名为:auto_test_interface新建一个package,命令为common,专门放公用代码新建一个directory,命名为test_data,专门放测试数据新建一个directory,命名为test_result,下面有2个子目录原创 2021-05-30 23:10:29 · 767 阅读 · 0 评论 -
requests之get发送带cookie的请求
1、有一些请求之间是有关联的,这个时候就需要用到cookie来帮助我们完成请求。比如说我们的接口有一个这样的场景:登录之后充值,必须登录成功才能给账户进行充值。登录地址: http://test.lemonban.com/futureloan/mvc/api/member/login登录参数:{‘mobilephone’: ‘18688773465’, ‘pwd’: ‘123456’}充值地址:http://test.lemonban.com/futureloan/mvc/api/member/rec原创 2021-05-30 00:19:28 · 6470 阅读 · 0 评论 -
requests之get请求带参数示例详解
具体见以下详细步骤获取响应数据获取请求头获取响应头、状态码有两点需要引起注意:a、响应结果一般有三种格式:HTML、json、textb、text方法返回的是字符串格式的内容获取cookiecookie是一种类字典的数据格式,如果我们想把字典的值打印出来,可以根据key值去获取并打印出来,或以字典形式查看cookie以上操作步骤,代码如下所示:import requests# 1.发起请求后得到的响应数据存在res里面res = requests.get('ht原创 2021-05-29 23:55:18 · 15820 阅读 · 0 评论 -
python requests完成接口请求
1、requests安装在cmd里直击输入:pip install request就可以安装成功。2、requests模块的介绍python的标准库urllib提供了大部分HTTP功能,但使用起来较繁琐。通常,我们会使用另外一个优秀的第三方库:Requests,Requests提供了很多功能特性,几乎涵盖了当今Web服务的需求,比如:浏览器式的SSL验证身份认证Keep-Alive& 连接池带持久 Cookie的会话流下载文件分块上传requests提供了如下几种HTTP的请求原创 2021-05-29 20:21:32 · 535 阅读 · 0 评论 -
什么是接口?
接口是什么呢?官方定义:接口是数据传递的通道如下图所示:可以简单粗暴的理解为接口其实就是没有UI层的功能模块疑问:接口是无UI界面的,如何才能实现访问呢?接口地址。接口参数以及接口的返回文档...原创 2019-11-05 22:57:57 · 6587 阅读 · 0 评论 -
测试用例添加断言及异常处理
一、测试用例添加断言在做功能测试时,编写好用例之后,确定用例是否通过的评判标准就是期望结果是否等于实际结果,如果相等,就是pass,否则就是Fail,unittest单元测试模块里面也有这种可以做期望结果和实际结果比对的方法,就是:断言。断言有很多种,以下罗列出几种比较常用的断言:比较常用的就以上这几种了,这里我们去修改→ 用unittest做单元测试,编写测试用例详细操作步骤 中的测试类,添加assertEqual断言到我们的测试类里面去,示范代码如下所示:二、添加异常处理断言结果如果测原创 2021-05-25 22:52:48 · 2143 阅读 · 0 评论 -
unittest用例执行完,生成HTML格式的测试报告
如何编写用例及用例执行,具体请参考1、用unittest做单元测试,编写测试用例详细操作步骤2、用unittest生成测试集及执行测试用例3、unittest用例执行完,生成txt格式的测试报告HTMLTestRunnerNew.py文件下载链接:https://pan.baidu.com/s/15c8b1nMhEY0essrxJqCzBQ提取码:b9c8安装一个HTMLTestRunnerNew.py文件,这个会生成一个HTML格式的报告,具有阅读性,且会把数据都整理起来,我们下载好HTML原创 2021-05-23 21:02:07 · 653 阅读 · 10 评论 -
unittest用例执行完,生成txt格式的测试报告
如何编写用例及用例执行,具体请参考1、用unittest做单元测试,编写测试用例详细操作步骤2、用unittest生成测试集及执行测试用例用例执行完毕了,最后我们要生成测试报告,其实TextTestRunner是能够直存储测试结果的,部分源码如下所示:resultclass = unittest.TextTestResult # 这里就是收集的测试结果def __init__(self, stream=None, descriptions=True, verbosity=1,原创 2021-05-23 19:08:36 · 492 阅读 · 0 评论 -
用unittest生成测试集及执行测试用例
在【用unittest做单元测试,编写测试用例详细操作步骤】中了解了如何编写测试用例,那么接下来我们要做的是,如何把用例加载进来,在【用unittest做单元测试,编写测试用例详细操作步骤】看到的是利用unittest.main()执行所有的用例,但是有的时候我们是不需要执行所有的用例的,可以按照自己的需求去添加用例。这个时候就要使用TestSuite来帮助我们更好的实现单元测试了。新建一个模块test_math_suite,示范代码如下所示:#创建测试集要记得引入unittest以及测试类模块#原创 2021-05-23 14:01:18 · 1302 阅读 · 0 评论 -
用unittest做单元测试,编写测试用例详细操作步骤
废话不多说,具体如下:一、什么是unittest?unittest模块是python自带的一个单元测试模块,我们可以用来做单元测试。unittest模板包含了如下几个子模块:测试用例:TestCase测试集:TestSuit加载用例:TestLoader执行用例:TextTestRunner这四个都是unittest模块中的类,整个单元测试的工作模块,就是这几大类。二、了解了什么是unittest,来编写自己的第一个测试类eg:编写一个数学方法类,类里面有加法以及减法两个函数。代码如原创 2021-05-23 13:26:03 · 4419 阅读 · 2 评论 -
jmeter压力测试结果分析
1、使用Assertion对结果进行简单的分类响应断言:通常是用于对每一个request sampler进行额外验证的工具响应时间断言:规定请求的响应时间不能超过多少毫秒 1000毫秒=1s文件大小断言:单位bytes,可以暂时不用考虑,除非性能过程中有说必须是某个size的范围之内2、通过jtl结果分析查看jtl文件,分析结果,可以对结果进行大致的分类分析设置jtl文件格式:选择某个...原创 2020-03-29 14:03:52 · 1433 阅读 · 0 评论 -
jmeter完成接口项目参数化测试
比如批量完成用户注册疑问:要完成参数化注册,需要考虑哪些参数呢?两个关键点:必填的唯一的比如注册:把手机号码参数化处理注:参数化有三种方式1、格式为txt2、格式为csv3、randomstring 随机生成方法一:randomstring 随机生成注:此方法缺点就是随机容易生成重复数据步骤一: 创建http请求步骤二:添加函数对话框步骤三:把生成的函数放在参数...原创 2019-11-11 23:05:24 · 186 阅读 · 0 评论 -
jmeter完成注册、登录、充值接口项目测试
如下三个接口:注册:http://test.lemonban.com/futureloan/mvc/api/member/register登录: http://test.lemonban.com/futureloan/mvc/api/member/login充值:http://test.lemonban.com/futureloan/mvc/api/member/recharge...原创 2019-11-09 00:03:45 · 1800 阅读 · 0 评论 -
Python学习线路图
原创 2019-10-16 22:23:11 · 136 阅读 · 0 评论 -
常用接口测试工具思维导图
原创 2019-10-15 22:55:02 · 612 阅读 · 0 评论