# 1.requests里面自带解析器转字典 print(r.json()) print(type(r.json())) # 取出json中的'result_sk_temp'字段 # {"resultcode":"200","reason":"查询成功","result":{"sk":{"temp":"28","wind_directio…
代码实现 1.XlsEngine.py # -*- coding:utf-8 -*- __author__ = 'yanghaitao' import xlrd import xlwt class XlsEngine_rd(): """ The XlsEngine is a demo class for excel openration Just for some basic test or the using or the 3rd class in python "…
# 函数 a = [1, 3, 6, 4, 85, 32, 46]print(sum(a)) # sum,求和函数 def add(): a = 1, b = 2, return a + bprint(add()) def add(a, b): # 都必填 return a + bprint(add()) def add(a=0, b=0): # 都非必填 return a + bprint(add()) def add(a, b=0): # a必填(必填项放前面) return a + bpr…
# 爬图片# 目标网站:http://699pic.com/sousuo-218808-13-1.htmlimport requestsfrom bs4 import BeautifulSoupimport osr = requests.get('http://699pic.com/sousuo-218808-13-1.html') # r.content # 返回的是字节流 soup = BeautifulSoup(r.content, 'html.parser') # 用html解析器,查找…
import requests import re url = 'xxxx' r = requests.post(url) # 正则公式: postid = re.findall(r"(.+?)", r.url)    # r.url:匹配的url对象 # ^表示从头开始匹配 u = re.findall(r"^(.+?)\?", url) # 如果参数在末尾,匹配到最后 # 参数:postid=35454&actiontip=按时发 res = re.fi…
import unittestimport requests def add(a, b): print('前置条件!!!!!:如登录') return a + b class TestAAA(unittest.TestCase): # 一次性的前置条件, 运行优先级:1 @classmethod # 调用setUpClass方法需要此修饰符 # 调用setUpClass方法 def setUpClass(cls): add(1, 2) # 调用add方法,且只运行一次,如登录,只需登录一次 cl…
解决问题:每次密码都是变化的,无法通过账号密码登录 (总不能每次去fiddler复制吧????) 解决思路: 1.先用selenium调用浏览器(不会selenium的自己想办法了), 2.登录后从浏览器里面抓取cookies 3.把cookies传给s 4.这样就成功成功了 如果登录有验证码怎么办?比如:博客园 参考这篇:http://www.cnblogs.com/yoyoketang/p/8610779.html 每次都会启动浏览器界面,不想看到浏览器启动怎么办? 解决办法1:用chrom…
# 字典 t = { #   键:值     '': '',     '': ''     } # 字典 # dict      key: value   key是唯一的,无序的 h = {     's': 12,     'f': False,     2: 'd',     'r': 't',     'sd': ['gf', 'rt', ' ew'],     'rt': ('rte', 'ewr'),     'ru': {             'rty': 'fghg',    …
python接口自动化测试二十七:密码MD5加密   ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import hashlib # 待加密信息str = 'asdas89799,.//plrmf'# 创建md5对象hl = hashlib.md5()# Tips# 此处必须声明encode# 若写法为hl.update(str) 报错为: Unicode-objects must be encoded before…
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量.所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来…
引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase下有很多测试用例,并且每个测试用例都写了请求地址,请求参数,请求头等相关数据,还有一些断言的数据.如果接口很多的话,这样每个case写都要写,导致后期工作量大,维护起来不方便. 针对上述情况,引入python一个非常好用的第三方库ddt,其作用就是数据驱动,将数据与代码分离,可以把所有的接口相关的测试用例数据…
python接口自动化测试七:获取登录的Cookies,并关联到下一个请求   获取登录的cookies:loginCookies = r.cookies 把获取到的cookies传入请求:cookies=loginCookies 此方法需每一次都调用登录方法,并且每一次发送请求都需要传Cookies,不建议使用…
第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的http\https请求包.如何模拟请求数据.过滤规则及修改响应数据.如何解决无法抓包问题        以及fiddler接口测试,让大家能应用好工具! 第3章 Requests常见方法实战运用本章重点讲解 get\post请求测试.接口测试中结果处理.上传\下载文件接口测试.请求中header及coo…
简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言.这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京的天气,一个是查询 南京为例,你也可以查询别的城市的天气预报. 接口文档 1.在实际工作中,开发人员都会给你接口文档方便QA测试,和其他系统的开发人员对接.接口文档如下: 天气预报 获取实时天气 请求方式:POST 请求地址:https://www.apiopen.top/weatherApi Qu…
简介 为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮.有些登录不是用 cookie 来验证的,是用 token 参数来判断是否登录.token 传参有两种一种是放在请求头里,本质上是跟 cookie 是一样的,只 是换个单词而已:另外一种是在 url 请求参数里,这种更直观. 登录返回token 1.如下图的这个登录接口,就是没有 cookies的登录接口. 2.但是这个登录接口,登录成功后有返回token,如下图 请求头带token 1.登录成功后继续操作其它…
url = '接口地址' r = requests.get(url)                      # 发送get请求 print(r.status_code)              # 打印状态码,若有重定向,返回的是重定向之后的代码 print(r.headers)                 # 打印返回的报头(头部) print(r.text)                    # 查看返回结果的文本形式 r.status_code               …
至此,从excel文件中循环读取接口到把测试结果写进excel,一个简易的接口自动化测试框架就完成了.大概花了1周的时间,利用下班和周末的时间来理顺思路.编写调试代码,当然现在也还有很多不足,例如没有做异常判断,如果某个环节出问题的话,程序就会终止运行...... 其实一整个流程下来,最大的收获是第一次用python写出了一个实用的东西,这套框架已经可以应付我目前的接口测试工作: 说一说我的学习过程: 这套简单框架也是借鉴了其他人的设计思路,我在开始的时候其实并没有一个很好的思路,甚至无从下手,…
因为小白,这2天研究了好久才算是搞好.先附上一个测试完成后邮件的截图: 上一篇有提到: unittest中实际运行了一个接口的很多条用例,而报告中只会有一条记录.这是因为unittest test case中我只写了一个test方法,循环测试数据.这样写用例更简单,目前在想是从报告中处理,还是测试用例读取部分进行处理. 而且这个问题会导致后续写test case出错几率大,而且耗时较多.经过几天的思考,写了个简易的解决办法.思路:轻微修改excel读取通过excel名/sheet名/用例id名来…
本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python 版本直接安装就以了,建议 下载python2.7.11版本,当然,也是可以下载python最新版本的. 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,该解释来自百度百科. 当然,为了更好的进行接口测试,需…
前言 当你做接口自动化测试时,测试用例逐渐变多情况下,如果所有测试用例都通过代码管理将会使得代码十分臃肿,而且维护成本会很高: 所以我们一般会通过Excel去管理所有的测试用例,而openpyxl库提供了访问Excel的方法 openpyxl简单介绍 一个Python库,用于读取/写入Excel 2010  xlsx .xlsm .xltx .xltm 文件 不能操作 xls 文件 openpyxl简单概念 Workbook:excel工作表 Sheet:工作表中的一张表 Cell:其中的一个单…
1.WriteIni.py import ConfigParser cf = ConfigParser.ConfigParser() cf.add_section("PC_WSDL") cf.set("PC_WSDL", "IP", 'localhost') cf.add_section("VIP_WSDL") cf.set("VIP_WSDL", "release_IP", 'loca…
在<Postman接口自动化测试实例>一文中,我是在获取随机因子的接口的Tests中对用户的密码进行加密处理的.其实正常做法应该是在请求验证接口前,即在Pre-request Script中对密码进行加密处理. 下面对上一文的进行简单的修改处理. 一.获取随机数接口的Tests内容 tests["Status code is 200"] = responseCode.code === 200 tests["Response time is less than 20…
转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):https://www.cnblogs.com/shapeL/p/9179484.html ,已经介绍了基于unittest框架的实现接口自动化,但是也存在一些问题,比如最明显的测试数据和业务没有区分开,接口用例不便于管理等,所以又对此修改完善.接下来主要是介绍该套接口自动化框架的设计到实现,参考代码的…
第十二章. 标准库 See Python Manuals ? The Python Standard Library ? 1)    sys模块 import sys if len(sys.argv) < 2: print 'No action specified.' sys.exit() if sys.argv[1].startswith('--'): option = sys.argv[1][2:] if option == 'version': print 'Version 1.2' el…
废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中使用了101ms,考虑和频繁读写用例数据导致 环境与依赖 名称 版本 作用 python 3.7.8 pytest 6.0.1 底层单元测试框架,用来实现参数化,自动执行用例 allure-pytest 2.8.17 allure与pytest的插件可以生成allure的测试报告 jsonpath…
前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关测试人员只需在后期更改测试用例即可维护自动化接口测试,完成相关测试任务. 特别提示: 知识是用来分享的,但是也要尊重作者的权益,转载请注明出处,未经本人允许不可用于商业目的. 自动化接口测试方案: 测试用例模板编写: 为了批量执行待测试的接口,我们采用测试用例模板的方式在jmeter中进行参数化,用…
简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等. 一般来说,测试接口,就是指测试接口的功能,性能和稳定性测试,当然可能还有安全性测试.这个入门系列会让你掌握接口的功能测试.一般,来说我们听说到的接口基本上都是指HTTP或者H…
问题: 在做接口自动化测试的时候,请求报文是json串,但是根据项目规则必须转换成字符串,然后在开头拼接“data=” 接口中很多入参值需要进行参数化. 解决方案: 1.Python并没有对在字符串中简单替换变量值提供直接的支持. 但是通过使用字符串的 format() 方法来解决这个问题.比如: >>> s = 'hello, this is a {param}!' >>> s.format(param='dog') 'hello, this is a dog!' &…
# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: run_test.py @ide: PyCharm Community Edition @time: 2018-12-21 14:45 @blog: https://www.cnblogs.com/gotesting/ ''' import unittest import HTMLTestRunner import time from Common.con…
本次优化: 1.  各级分Package 2.  封装[ReadExcel]类 3.  封装[ReadConfig]类 4.  封装[GetLog]类 5.  引入ddt数据驱动测试,优化测试用例代码 工程如下: 代码分享: get_logger.py # -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: get_logger.py @ide: PyCharm Community Edition @time: 2018-…