python接口测试
基础学习,实战
是美好啊
这个作者很懒,什么都没留下…
展开
-
【pytest使用】获取yaml数据
在common层获取ymal数据 #读取ymal文件 def read_yaml(self,yaml_file): with open(yaml_file,encoding="utf-8") as f: #文件流加载方式 value=yaml.load(f,Loader=yaml.FullLoader) return value使用pytest写测试用例:@pytest.mark.parametrize(a原创 2022-05-31 17:12:08 · 1538 阅读 · 2 评论 -
Python用例用testsuite执行用例报错ValueError: no such test method in <class ‘case.case_makedata.Case_Makedata‘
测试用例使用的ddt,并使用了 @file_data(’…/data/year.yaml’)熟悉,用testsuit添加用例集,就报截图错误原创 2021-11-05 17:18:45 · 687 阅读 · 5 评论 -
【meterspherv1.12.0版本】问题:meterspher获取变量后进行断言返回数据为Unicode没有属性items
具体问题描述:获取接口的响应数据后去掉u之后的unicode格式,后面不能使用items进行遍历报错截图import json# import numpy as np#res为响应结果,类型为unicoderes=prev.getResponseDataAsString()#将unicode转为dictdic_res=json.loads(res)#去掉u之后的unicode格式\u_list_datas=dic_res['data']['data']deunicode_apps=原创 2021-08-31 18:55:42 · 496 阅读 · 0 评论 -
Python+pytest生成测试报告(pytest-html)
尝试pytest测试框架搭建接口测试框架,哈哈哈,现在一起看看pytets生成测试报告的详细步骤吧!1)在pycharm设置里面安装2)安装成功后,在pycharm右上角选择该测试用例集进行运行,代码详见截图,注意箭头三个地方的测试集类名相同3)运行成功后,生成测试报告这里有个问题就是,在cmd命令行pip install pytest-html,安装成功后一直报错,类似这种报错生成测试报告后可看见Python-pytest测试报告的测试环境如下:...原创 2021-03-22 18:12:20 · 2878 阅读 · 2 评论 -
Python接口自动化学习—unittest框架文档学习总结
uinittest单元测试框架是受到JUnit的启发,unittest支持测试自动化,共享测试的设置和关闭代码,将测试聚合到集合中以及测试与报告框架的独立性。test fixturefixture表示测试之前的准备工作和清除工作。例如,创建临时或代理数据库,目录或启动服务器进程。test casetest case 是测试的各个单元。它检查对一组特定输入的特定响应,unittest提供了一个基类,TestCase用来创建testcase。test suitetest suite是te原创 2023-03-13 21:39:53 · 426 阅读 · 0 评论 -
Python接口自动化—数据依赖(根据json文件已知的key,vaule获取对应数组的key,value值)
json数据{"data":[ {"id":195,"projectName":"22","sliceName":"","selectAll":true, "analysisColumn": [ {"id":"115484651778347008","fieldName":"d_h7_ltf","isReady":true,"errorCount":2,"fieldType":"NUMERIC"} ] }, {"id":174,"projectName":原创 2020-08-14 17:15:23 · 760 阅读 · 0 评论 -
Python接口自动化—发送邮件 IMAP/SMTP服务
提前准备,需要设置邮箱服务器代码块如下#coding:utf-8#发送邮件的import smtplibfrom email.mime.text import MIMETextclass SendEmail: global send_user global email_host global password email_host="smtp.qq.com" send_user="xx@qq.com" password="xxx" #接原创 2020-08-13 16:59:36 · 2506 阅读 · 0 评论 -
Python接口学习—封装delete方法且,请求参数为表单
#delete请求,请求类型为pram #coding:utf-8import requestsimport json#执行get、post方法封装class RunMethod: # def __init__(self, logger): # # self.log_msg=get_log('22') # self.log_msg=logger def post_main(self,url,data,header=None): r.原创 2020-08-13 15:43:00 · 617 阅读 · 0 评论 -
Python接口自动化—数据依赖
数据依赖思路用例表格设计框架获取思路1)先获取上个 接口需要依赖的返回数据,2)再用一个变量进行保存,3)下个接口需要依赖就直接引用已保存数据的变量。下面是json数据进行解释#接口返回的数据respanse_data={ uid:"11", name:"sun"}#保存接口返回数据其中uid字段数据id=data["uid"]#下一个接口请求数据,r_uid依赖上个接口返回的uid数据,这里就直接引用idrequest_data={ r_uid=id, price:"5原创 2020-08-07 15:27:40 · 1058 阅读 · 0 评论 -
接口自动化—logging日志实践
封装了日志类,可以在其他类进行调用,这里需要注意,我们一定要自己写一个方法得到当前文件的绝对路径,要不然会报找不到文件的错误哦,哈哈哈哈实践代码get_cwd.py# -*-coding:utf-8-*-import osdef get_cwd(): path=os.path.dirname(os.path.abspath(__file__)) #当前文件的绝对路径 return pathget_log.py#coding:utf-8import loggingi原创 2020-07-30 10:48:47 · 230 阅读 · 0 评论 -
接口自动化—认识日志logger
python的logging模块提供了通用的日志系统,可以方便第三方模块、应用使用。logging是python内置的标准模块,主要是用于输出运行日志i,设置输出日志等级、日志保存路径、日志文件回滚等。1 认识logginglogging模块提供logger、handler、filter、formatter1)logger:给需要使用的代码提供日志接口。logging.getLogger(name)获取logger对象,不指定name就会返回root对象。2)handler:是把日志记录发送到目的地原创 2020-07-30 10:22:59 · 497 阅读 · 0 评论 -
接口自动化测试—返回数据在json中,会自动转换
在测试接口的时候发现,接口返回的数据在json中会自动转换,见如下代码json文件传入的数据{ "case1_result": {"requestId": null, "data": true, "solution": null, "success": true, "resultMsg": null, "resultCode": null}}运行在控制台打印出来的数据{'data': True, 'resultMsg': None, 'requestId': None, 'resultCo原创 2020-07-28 17:32:03 · 816 阅读 · 0 评论 -
接口自动化-判断两个json文件是否相等
写代码过程中判断两个文件是否相同,来给定测试结果,运用的是oprator.eq(a,res)。但是json文件内容过多,自己看起是相同,其实是由于自己粗心导致,这时候我们可以用以下代码来判断 #步骤1 for key in a.keys(): if a[key] != res[key]: print("key is %s, and a[key] is %s, res[key] is %s" % (key, a[key], res[key])) f原创 2020-07-28 12:35:41 · 534 阅读 · 0 评论 -
接口自动化—获取接口返回的某个特定数据用jsonpath_rw
书写接口自动化,遇见接口有依赖关系,需要获取上个接口返回数据,在网上查找jsonpath_rw可以实现安装:pip install jsonpath_rw接下来是返回简书首页的第一个id值作为例子#coding:utf-8from jsonpath_rw import jsonpath,parseimport requests#接口返回数据假如如下,返回的是简书的首页数据header={ 'Accept': 'application/json', 'User-Agent':原创 2020-07-26 16:51:47 · 572 阅读 · 0 评论 -
接口自动化—获取excel并写入json文件
获取excel数据写入json文件,由于excel写入的格式会影响请求数据,建议最好要用json数据作为请求数据,直接在json文件写入数据,可能会节约时间成本并提高请求数据的正确性#coding:utf-8import operatorimport jsonimport xlrdfrom utile.operation_excel import OperationExcelclass To_json: def __init__(self,json_path): self原创 2020-07-25 20:41:01 · 472 阅读 · 0 评论 -
Python学习—JSON知识点
在写接口自动化请求错误,找半天错结果是请求数据错误,请求数据不是json字符导致错误,接下来就让我们好好熟悉下python json知识点。json是一种轻量级数据交换格式,简单易懂主要涉及到两个知识点:1)json.dumps():将Python对象编码成JSON字符串。2)json.loads:将已编码的JSON字符串解码为Python对象。代码如下1)json.dumps():将Python对象编码成JSON字符串。#coding:utf-8import json#python对象转原创 2020-07-23 20:48:09 · 130 阅读 · 0 评论 -
【实践问题】接口自动化—请求参数为对象报错
*问题是请求数据为对象,接口返回错误,对json知识还不够熟悉,导致了这个小错误,后面要仔细复习哈json知识.打印的数据为单引号就是对象,为双引号就是json转为json格式:json.dumps()*错误代码如下:#coding:utf-8import jsonfrom base.runmethod import RunMethodfrom utile.operation_json import OperationJsonfrom utile.operation_excel import原创 2020-07-23 18:11:36 · 239 阅读 · 0 评论 -
接口自动化—操作json文件
问题:在excel用例请求数据展示具体json不美观,所有在代码文件中创建json文件,用代码在excel读取请求数据关键字,根据关键字在json文件找到对应的数据json文件数据如下{ "login1":{"username":"12","password":"12"}, "login2":{"username":"","password":""}, "login3":{"username":"1","password":"1"}}获取json代码#coding:utf-8imp原创 2020-07-23 17:36:27 · 401 阅读 · 0 评论 -
接口自动化测试—Python操作excel内容
测试用例一般是用exce书写,接下来是学习获取测试用例的数据的代码及思路1.首先通过文件路径打开文件2.根据sheetid(一般从0开始进行计算,或者直接获取sheet名字)获取到每个sheet内容3.根据sheet内容就可以获取数据总行4.根据sheet内容获取到单元格内容安装excel包:pip install xlrd具体代码见下:#coding:utf-8import xlrdclass OperationExcel01: def __init__(self,file_na原创 2020-07-23 14:00:30 · 184 阅读 · 0 评论 -
接口自动化—mock服务、用例依赖
mock服务mock是Python中一个用于支持单元测试的库,主要功能是使用mock对象替代指定的Python对象,以达到模拟对象的行为。1.安装mockpip install mock2.封装mock服务代码#coding:utf-8from mock import mock#封装mock方法,输入参数依次为 mock_method运行的方法,请求数据,路径,请求方法,返回数据def mock_test(mock_method,request_data,url,method,respa原创 2020-07-22 16:04:05 · 477 阅读 · 0 评论 -
Python3.5生成测试报告,踩过坑系列
由于实践过程中踩过的坑…下面列出正确的操作步骤以此记录,遇到类似问题的童鞋可以看看1 HTMLTestRunner下载地址:http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.pyHTMLTestRunner.py复制下来,放在Python目录下的Lib文件下。注意注意!!!python3版本,这里的HTMLTestRunner文件一定要修改,不然会报错!2 HTMLTestRunner.py 修改内容如下:如果你原创 2020-07-22 11:20:38 · 406 阅读 · 0 评论 -
Pyhton接口自动化—封装get、post方法
#coding:utf-8import requests#执行get、post方法封装class RunMethod: def __init__(self,method,url,data=None,header=None): self.res=self.run_main(method,url,data,header) def post_main(self,url,data,header=None): res=None if header!原创 2020-07-21 15:13:39 · 177 阅读 · 0 评论 -
Python爬虫实战—2345影视获取经典电影信息
1.安装解析库lxmllxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。命令行进行安装:pip install lxml进入2345影视:控制台打开获取user-agent:原创 2020-07-19 21:58:27 · 2159 阅读 · 0 评论 -
Fiddler工具使用—Filter过滤器
1.Hosts:通过主机名进行过滤1)No Zone Filter:不对内网和外网进行过滤show only Intranet Hosts: 内网show only internet Hosts:外网2)No Host Filter :不对主机名进行过滤Hide the following Hosts:隐藏下边输入的主机名的会话show only the following Hosts:显示下边输入的主机名的会话flag the following Hosts:标志下边原创 2020-07-19 20:19:13 · 1396 阅读 · 0 评论 -
接口自动化(Python)-封装操作excel函数
知识点xlrd:Python语言中,读取Excel的扩展工具Python构造函数:主要用于在类的对象创建时定义初始化的状态xlutils.copy:复制读取的excel#coding:utf-8import xlrdfrom xlutils.copy import copyclass OperationExcel: def __init__(self,file_name=None,sheet_id=None): #传入参数有file_name,sheet_id就对应赋值 if fi原创 2020-07-16 17:22:23 · 360 阅读 · 0 评论 -
Pycharm配置Python3.8
问题:导入包失败解决步骤如下步骤1:步骤2:见截图步骤3: 见截图,输入截图中的数据,点击ok结果: 导入成功原创 2020-07-15 21:04:30 · 6737 阅读 · 0 评论 -
接口自动化-安装Jenkins
安装 Jenkins前提:安装java1)在官网下载Jenkins:https://www.jenkins.io/download/2) 进入Jenkins的文件路径,在cmd执行以下代码3)执行完成后,有显示访问地址http://localhost:8080/,进入页面4)进入给定的地址,打开文档复制密码到输入框,点击确定5)选择插件进行安装6)安装完插件后创建账号密码地址:http://localhost:8080/7)新建任务8)配置页面,输入代码运行文件路径,输入执原创 2020-07-06 19:52:25 · 180 阅读 · 0 评论 -
接口自动化(Python)-token登录
token登录处理#coding:utf-8import requestsclass operation_header:#获取登录的token def login(self): url = "XXXX/login" data = { "account": "xxx", "password": "xxxxx", "domainNumber": xxx } he原创 2020-07-06 19:45:41 · 777 阅读 · 0 评论 -
接口自动化-Python连接MSQL
Python3.5 连接数据库1 安装mysqlPython的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库注意:这里是Python3.5对应的数据库驱动下载mysql: https://pypi.org/project/mysqlclient/1.3.10/#files命令行输入:进入下载文件的文件夹目录执行pip install mysqlclient-1.3.10-cp35-cp35m-win_amd64.whl输入Python,再执行imp原创 2020-07-06 19:40:10 · 141 阅读 · 0 评论