python+requests+unittest 接口ddt测试】的更多相关文章

以数据驱动的形式,将用例维护在py文件中 源码分析: 变量定义 publicParameters.py """ 公共参数 , 按照各公司实情,自行编写 """ url = "https://XXXX.com" username = "XXXXXXX" password = XXXX tenantId = XXXX passport_id = XXXX encryptionKey = XXXX # 请求参数类…
1. 前言 今年2月调去支持项目接口测试,测试过程中使用过postman.jmeter工具,基本能满足使用,但是部分情况下使用较为麻烦.比如:部分字段存在唯一性校验或字段间有业务性校验,每次请求均需手工修改部分报文内容,使用工具难以满足实际使用.因此,萌生了使用python去实现接口自动化的想法.之前未接触过接口测试,但有一点编程基础,经过2个多月的磕磕碰碰,不断完善,经历2次重构之后,最后基本达成了目标. 2. 技术栈 python语言 requests库 unittest单元测试框架 HTM…
1.安装requests.xlrd.json.unittest库 <1>pip 命令安装: pip install requestspip install xlrdpip install jsonpip install unittest <2> pycharm里安装 2.利用Page Object Model 设计理念创建六类Python Package(也可根据项目要求具体实施) 3.先在base包里创建一个Base_Page.py <1>导入模块,并创建Base类,…
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下. 一.整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用. Common:公共方法:主要放置公共的操作的类,比如数据库sqlhelper.文件操作类等 Config:公共变量:主要放置公共变量,比如ST.UAT.生产环境的url地址.用户名密码.数据库连接 Data:数据层,有点类似三层架构中的DAL,它是数据的来源,根据数据存放的格式再细分json.xml.表单和数据库 Log:日志层…
一.框架结构:  工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class RunMethod: def post_main(self,url,data,header=None): res = None if header !=None: res = requests.post(url=url,data=data,headers=header) else: res = r…
一.框架结构:  工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) 1 import requests 2 import json 3 class RunMethod: 4 def post_main(self,url,data,header=None): 5 res = None 6 if header !=None: 7 res = requests.post(url=url,data=data,headers=header)…
一.框架结构:工程目录 二.Case文件设计三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class RunMethod: def post_main(self,url,data,header=None): res = None if header !=None: res = requests.post(url=url,data=data,headers=header) else: res = requ…
黑熊再网上查找了下接口测试相关的资料,大都重点是以数据驱动的形式,见用例维护在文本或表格中,而没有说明怎么样去生成想要的用例, 问题: 测试接口时,比如参数a,b,c,我要先测a参数,有(不传,为空,整形,浮点,字符串,object,过短,超长,sql注入)这些情况,其中一种情况就是一条用例,同时要保证b,c的正确,确保a的测试不受b,c参数的错误影响 解决思路: 符合接口规范的参数可以手动去填写,或者准备在代码库中.那些不符合规范的参数(不传,为空,整形,浮点,字符串,object,过短,超长…
get方法 url:显而易见,就是接口的地址url啦 headers:定制请求头(headers),例如:content-type = application/x-www-form-urlencoded params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递. 举个例子: url=‘http://api.shein.com/v2/member/logout’ header={‘content-type’: application/x-w…
最近在准备一个公开课,主题就是利用不同的语言和不同的工具去实现文件的上传和下载. 在利用Jmeter去实现功能的时候,以及利用loadrunner去写脚本的时候,都很顺利,没有任何问题,当我尝试用Python去解决这个问题的时候,花了一些时间. 这也让我在学习和尝试中,找到了很多乐趣,下面给大家分享下,如何去实现操作. 前提: 1:有一个上传接口,地址如下:http://xx.xx.xx.xx//upload/stream(公司的服务,地址不便外发~有兴趣的同志可以来看我们的公开课!) 2:上传…