# coding=utf-8 import json import requests class TestApi(object): """ /* @param: @session ,@cookies the request can be divided into session request and cookie request according to user's own choice however,url and header is must ,other para…
把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author: Hero Liu import json class DoJson: def __init__(self, file): self.data = self.get_json(file) # 读取json文件 def get_json(self, file): with open(file) as…
1.python使用自带的configparser模块用来读取配置文件,配置文件可以为.conf或.ini结尾 在使用前需要先安装该模块,使用pip安装即可 2.新建一个名为a.conf的配置文件 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 option: b) section 用 [sect_name] 表示,每个option是一个键值对,使用分隔符 = 或 : 隔开: c) 在 option 分隔符两端的空格会被忽略掉 d) 配置文件使用 # 和 ; 注…
配置文件默认为conf.json 使用函数set完成追回配置项. 使用load或取配置项. 代码如下: #!/usr/bin/env python3 # -*- coding: utf-8 -*- ''' json配置文件类,调用方法 data_dict = {"", ""} JsonConf.set(data_dict) 即可在当前目录下生成json文件:config.json ''' import json import os class JsonConf: '…
写代码中需要用到读取配置,最近在写python,记录一下. 如下,假设有这样的配置. [db] db_host=127.0.0.1 db_port=3306 db_user=root db_pass= [concurrent] thread=200 processor=400 可以使用ConfigParser模块来读取.写入配置. #coding=utf-8 import ConfigParser import sys cf = ConfigParser.ConfigParser() cf.re…
目录 QuantLib 金融计算--自己动手封装 Python 接口(1) 概述 QuantLib 如何封装 Python 接口? 自己封装 Python 接口 封装 Array 和 Matrix 类 QuantLibEx 和官方包混合使用 附录:接口文件.setup.py 和 __init__.py quantlibex.i ql.i types.i common.i linearalgebra.i setup.py __init__.py QuantLib 金融计算--自己动手封装 Pyth…
目录 QuantLib 金融计算--自己动手封装 Python 接口(2) 概述 如何封装一项复杂功能? 寻找最小功能集合的策略 实践 估计期限结构参数 修改官方接口文件 下一步的计划 QuantLib 金融计算--自己动手封装 Python 接口(2) 概述 对于一项简单功能,通常只需要包装少数几个类就可以,正如<自己动手封装 Python 接口(1)>演示的那样. 下面,将演示如何包装 QuantLib 中的复杂功能,最终实现从固息债交易数据中估计期限结构模型的参数. 如何封装一项复杂功能…
今天在项目中发现.当插入或读取JSON数据时遇见回车符.返回JSON数据格式时会报错(firebug里体现为乱码),百度了一下发现JSON不支持字符串里存在回车! 解决的方法: 在向接口插入带json格式的数据之前,将回车等特殊符合替换成json接受的符号. 在向接口请求读取json格式的数据时.将回车等特殊符合替换成json接受的符号: 发送到后台 myPostStr.replace(/[\r\n]/g,"|"); //将myStr字符串里的回车和换行符替换成"|"…
# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: read_config.py @ide: PyCharm Community Edition @time: 2018-12-21 13:53 @blog: https://www.cnblogs.com/gotesting/ ''' import configparser import os from Common import contants # 创建…
基于python实现的http+json协议接口自动化测试框架(实用改进版)   by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436     目录 1.      写在前面... 2.      开发环境... 3.      大致流程... 4.      框架简介... 5.      运行结果展示... 6.      文件与配置... 7.      测试接口实例... n      1.登陆接口... n      2.支付密码更改接口... 8. …
前言 不管是做Ui自动化和接口自动,代码和数据要分离,会用到Text,Excel,Yaml.今天讲讲如何读取文件数据 Python也可以读取ini文件,传送门 记住一点:测试的数据是不能写死在代码里面的,这个是原则问题 目录 1.读取Text 2.读取Excel 3.读取Yaml 读取Text 需求: 问题解析: 1.打开txt文件 2.读取每一行数据 3.将文件存放在列表中(方便循环读取) #!/usr/bin/python3 with open("E:/test.txt", &qu…
python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取yaml文件,就必须安装扩展的模块. 那么我们就安装相应模块. pip install pyyaml yaml文件的格式有点类似于字典,但是它没有括号.接下来就定制一个logging的yaml配置文件. version: 1 disable_existing_loggers: False forma…
简介 流程相关的接口,主要用 session 关联,如果写成函数(如上篇),s 参数每个函数都要带,每个函数多个参数,这时候封装成类会更方便.在这里我们还是以博客园为例,带着小伙伴们实践一下. 接口封装大致流程 1.在接口测试中,有些接口经常会被用到比如登录的接口,这时候我们可以每个接口都封装成一个方法,如:登录.保存草稿.发布随笔.删除随笔,这四个接口就可以写成四个方法 2.接口封装好了后,后面我们写用例那就直接调用封装好的接口就行了,有些参数,可以参数化,如保存草稿的 title 和 bod…
前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一.识别json参数 1.在前面1.8章节讲过,post请求的body通常有四种类型,最常见的就是json格式的了,这个还是很多识别的…
前言 ​ JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它可以让人们很容易的进行阅读和编写,同时也方便了机器进行解析和生成,适用于进行数据交互的场景,比如网站前台与后台之间的数据交互.简单说就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构. ​ 对象:对象在js中是花括号{}括起来的内容,数据结构为{key:value,key:value,...}这样的键值对结构,在面向对象的语言中,key为对象的属性,value为对应的…
简介 有些 post 的请求参数是 json 格式的,这个前面发送post 请求里面提到过,需要导入 json模块处理.现在企业公司一般常见的接口因为json数据容易处理,所以绝大多数返回数据也是 json 格式的,我们在做判断时候,往往只需要提取其中 几个关键的参数就行,这时候我们就需要 json 来解析返回的数据了.首先来说一下笔者为何要单独写这么一篇,原因是:python 里面 bool 值是 True 和 False,json 里面 bool 值是 true和 false,并且区分大小写…
前言 有些post的请求参数是json格式的,需要导入json模块进行处理,json是一种数据交换格式,独立于编程语言 一般常见的接口返回数据也是json格式的,我们在做判断的时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了 一.json模块简介 1. json简介:json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2. 可以用 help(json) 查看对应的源码注释内容 Encoding…
上篇讲到实际的请求数据放置在json文件内,这一部分记述一下python读取json文件的实现. 代码如下(代码做了简化,根据需要调优:可做一些容错处理): 1 import json 2 3 class operateJson(): 4 def __init__(self,jsonPath=None): 5 self.jsonPath = jsonPath #传入json文件路径 6 7 #读取json文件的内容 8 def readJson(self): 9 with open(self.j…
1.Json模块简介,全名JavaScript Object Notation,轻量级的数据交换格式,常用于http请求中. Encoding basic Python object hierarchies:: >>> import json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar": ["baz", null…
一:问题 python3在cmd命令行中已经安装了yaml,且import yaml是成功的,但是pcharm中import yaml还是红色报错 二:分析原因 pycharm和python环境需要分开安装yaml,只在python环境即cmd中安装yaml是不行的,pcharm还是会报错 三:解决方法 需要分别在python环境和pycharm环境中安装yaml: 1.python环境中安装yaml,cmd命令行执行,python3安装yaml文件命令为:pip install pyyaml…
前言 一.简介 1.环境准备:python+requests+excel+unittest+ddt,主要安装以下环境,其它一般都有了,没有自行安装: pip install xlrd pip install xlutils pip install ddt pip install requests HTMLTestRunner 2.目前实现的功能: 封装requests请求方法 excel读取接口请求参数,断言结果,支持多个table 运行结果新写入一个excel中(很鸡肋,每次看excel报告都…
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…
yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式 2.yaml基本语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的…
在测试工作中,可以使用yaml编写测试用例,执行测试用例时直接获取yaml中的用例数据进行测试(如:接口自动化测试) 1.什么是yaml 是一种可读的数据序列化语言,通常用于配置文件 非常简洁和强大,远比json格式更方便 可用作自动化测试框架的配置文件和测试用例文件 原则 a.大小写敏感 b.使用缩进表示层级关系 c.缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级. d.使用#表示注释 e.字符串可以不用引号标注 2.yaml配置文件的格式 使用:号隔开表示键值对 使用-号表示数组…
前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded application/json text/xml multipart/form-data 本篇讲xml这种类型的body案例,如何用python去实现 text/xml 1.首先要确定post请求的body部分类型是xml格式,可以用fiddler抓包工具,抓到请求后点开raw.看到body部分格式如下…
简介 按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类.可能有的小伙伴在这里会有个疑问一个logging为什么分两篇的篇幅来介绍她呢???那是因为日志是非常重要的,用于记录系统.软件操作事件的记录文件或文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统.软件的活动等重要作用,在开发或者测试软系统过程中出现了问题,我们首先想到的就是她——logging.她可不像…
前言:什么是Requests ?Requests 是⽤Python语⾔编写,基于urllib,采⽤Apache2 Licensed开源协议的 HTTP 库.它⽐ urllib 更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求. 安装requests库 ​ cmd命令行执行pip install requests HTTP 请求方法 ​ HTTP 协议 (Hyper Text Transfer Protocol),一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即…
为了便于维护,python接口自动化测试用例可以利用xlrd模块读取excal表格进行数据分离.我们可以利用xlrd模块的row_values()和cell_value()两种方法读取Excal表格. 一.首先,写一个运行测试用例的Test_Main类: #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import unittest import jsonclass TestDemo(unittest.TestCase): de…
之前学习了使用jmeter+ant做接口测试,并实现了接口的批量维护管理(大概500多条用例),对"接口"以及"接口测试"有了一个基础了解,最近找了一些用python做接口测试的资料,一方面为了学习下如何使用python进行接口测试(如何做出一个简单基础的接口测试框架),另一方面也为了锻炼下如何用python写代码(接触python也有一段时间了,但是每次自己编程总有种提笔忘字的感觉,真是欠练!!) 首先,用python做接口测试,主要用到就是requests库和j…
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先了解一下常见的四种编码方式: HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式. 浏览器行为:Form表单提交 1.form表单常用属性 action:url 地址,服务器接收表单数据的地址 method:提交服务器的ht…