一.缘 起 笔者最近完成了基于Python3 + requests + unittest的接口测试脚本,故在此做一下记录,于己为复盘,于彼为学习和参考 二.思 路 接口测试无非三步: 首先,造数据 - Python3连接MySQL,插入测试数据 然后,发请求 - requests模块依次发请求 最后,校验返回值 - 基于unittest框架,assert主要的response值 三.说 明 脚本的工程名为zhtyInterfaceTest,整体结构如下图 .idea为PyChram编辑器自动生成…
Requests 是第三方模块,如果要使用的话需要导入.Requests也可以说是urllib模块的升级版,使用上更方便. 这是使用urllib的例子. import urllib.request import json url = 'http://www.weather.com.cn/data/sk/101190408.html' res = urllib.request.urlopen(url)#发送请求 result = res.read().decode()#获取结果,结果是byte类型…
转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起ja…
什么是自动化测试框架 关于自动化测试框架的定义有很多,在我大致理解下就是把能实现不同功能的软件组合在一起,实现特定的目的,这就是一个简单的自动化测试框架. 接口自动化测试框架核心无非是选择 一个用来编写脚本的语言,一个用来模仿http请求的http库,管理脚本的执行工具,选择python,http库可以用requests,脚本管理工具可以用unittest单元测试框架.选择java的话,http库可以用httpclient,脚本管理工具可以用TestNg或者junit 自动化测试框架需要什么 首…
转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):https://www.cnblogs.com/shapeL/p/9179484.html ,已经介绍了基于unittest框架的实现接口自动化,但是也存在一些问题,比如最明显的测试数据和业务没有区分开,接口用例不便于管理等,所以又对此修改完善.接下来主要是介绍该套接口自动化框架的设计到实现,参考代码的…
框架整体使用Python3+Requests+Excel:包含对实时token的获取 框架结构图 1.------base -------runmethond.py runmethond:对不同的请求方式进行封装 import json import requests requests.packages.urllib3.disable_warnings() class RunMethod: def post_main(self, url, data, header=None): res = No…
python+requests实现接口测试 - get与post请求基本使用方法 http://www.cnblogs.com/nizhihong/p/6567928.html   Requests 库是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求. Requests 库是用Python语言编写,基于 urllib,采用 Apache2 Licens…
前言:接口测试用例较多,我们不可能每个用例都写一次requests,get或者requests,post等,所以对共用方法要进行封装处理 第一次修改:将get请求和post请求单独定义出来,使用过程中根据不同类型的请求直接调用对应的方法 import requests import json def send_post(url,data,headers): response = requests.post(url=url,data=data,headers=headers).json() ret…
一.为什么需要建立爬虫代理ip池 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制的,在某段时间内,当某个ip的访问量达到一定的阀值时,该ip会被拉黑.在一段时间内被禁止访问. 这种时候,可以通过降低爬虫的频率,或者更改ip来应对.后者就需要有一个可用的代理ip池,以供爬虫工作时切换. 二.如何建立一个爬虫代理ip池 思路:   1.找到一个免费的ip代理网站(如:西刺代理) 2.爬取ip(常规爬取requests+BeautifulSoup) 3.验证ip有效性(携带爬取到的ip,去…
之所以选用Python,是因为对于网络爬虫来说,Python是最好上手的一种语言.本文讲述的安装配置都是基于Windows的环境. 另外我想说的是,文中用到的下载链接尽量官方网站上的下载链接,这是我比较喜欢的下载方式,一方面下载可靠,一方面链接稳定.如果官网要FQ才能进去的话,为了方便读者操作,就使用百度的下载链接了. 一.Python3安装 首先,下载Python3,这里使用Python3.5.1版本,点击下载:64位版本,32位版本. 双击打开,进行安装.特别注意:要勾选上"Add to P…
因为总是忘记签到,所以尝试写了一个签到脚本,因为使用的是Python3,所以没法使用Urllib2,于是选择了Requests,事实证明,Requests比Urllib2好用.整体思路比较简单,就是模拟百度登陆的过程进行交互,然后获取COOKIES并保存,之后都使用COOKIES登陆,然后模拟贴吧客户端的收发包过程进行交互,但实际上遇到了非常多的问题,这里就记录下这次的调试经验 主程序比较简单,就是判断是否登陆成功,然后开始签到,其中判断登陆是否成功时,参考的程序中用的是访问此地址检测状态值 h…
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现豆瓣图书Top250的抓取工作,并存入excel中,但是很不幸,由于采用的串行爬取方式,每次爬完250页都需要花费7到8分钟,显然让人受不了,所以必须在效率上有所提升才行. 仔细想想就可以发现,其实爬10页(每页25本),这10页爬的先后关系是无所谓的,因为写入的时候没有依赖关系,各写各的,所以用串…
前提: python3.4 windows 作用:通过搜狗的微信搜索接口http://weixin.sogou.com/来搜索相关微信文章,并将标题及相关链接导入Excel表格中 说明:需xlsxwriter模块,另程序编写时间为2017/7/11,以免之后程序无法使用可能是网站做过相关改变,程序较为简单,除去注释40多行. 正题: 思路:打开初始Url  --> 正则获取标题及链接  -->  改变page循环第二步  -->  将得到的标题及链接导入Excel 爬虫的第一步都是先手工…
在学习Python之余,发现Python2与Python3 有很大的变化,之前使用urllib和cookielib来保存cookie,发现很繁琐,于是改用requests.发现cookielib在3.x版本中改成了http.cookiejar.经过测试后成功保存了cookie.使用方法如下 # requests 与 http.cookiejar相结合使用 import requests import http.cookiejar as HC session = requests.session(…
用到了requests.BeautifulSoup.urllib等,具体代码如下. # -*- coding: utf-8 -*- """ Created on Sat Jul 21 09:13:07 2018 @author: brave_man email: 1979887709@qq.com 这里先说一个坑.. 页面不存在404的坑. 首先,我们把包含30个投诉的一个页面,称作一个主界面.每一个主界面是包含有30个投诉贴,我们获取每一个投诉贴的超链接, 然后,将获取到的…
python3配置文件的增删改查等操作可以使用内置的ConfigParser模块,可以自行百度学习,也可以看Python3学习笔记27-ConfigParser模块 配置文件一般存放着环境信息,比如url和一些测试过程中后续需要用到的字段.还有测试中需要导入,导出的一些文件.在项目下新建Config文件夹,文件夹下新建config,ini文件.项目结构如下 实际项目接口测试中,接口url前面很大一部分都是相同的,只有后面一小部分是不同的,那可以把相同部分放在配置文件中,这样就可以通过配置文件去控…
转载请表明出处:https://www.cnblogs.com/shapeL/p/9179484.html 简单介绍框架的实现逻辑,参考代码的git地址: https://github.com/zhangying123456/python_unittest_interface 1.环境准备 python3 + pycharm编辑器 2.框架目录展示 (该套代码只是简单入门,有兴趣的可以不断后期完善) (1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送: (2)repo…
北京理工大学嵩天老师的课程:http://www.icourse163.org/course/BIT-1001870001 官方文档:http://docs.python-requests.org/en/master/ 中文文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 安装 pip install requests Requests库的七个主要方法 get方法 r = requests.get(url)…
项目简介 爬取趣头条新闻(http://home.qutoutiao.net/pages/home.html),具体内容: 1.列表页(json):标题,简介.封面图.来源.发布时间 2.详情页(html):详细内容和图片 目录结构 生成的数据文件-单条记录 主要代码说明 爬虫: #爬取趣头条列表和详情页 qutoutiao.spiders.qutoutiaos.QutoutiaosSpider管道文件: #封面图片处理类 qutoutiao.imagepipelines.CoverImageP…
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6EmUbbW&id=564564604865 使用ghost.py 通过搜搜 的微信搜索来爬取微信公共账号的信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34…
转自:http://www.cnblogs.com/nizhihong/p/6567928.html 简介:Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求.Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner.更重要的一点是它支持 Python3 哦! 一.安装 使pip安装…
什么是爬虫 爬虫,也叫蜘蛛(Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛.网络爬虫就是根据网页的地址来寻找网页的,也就是URL.举一个简单的例子,我们在浏览器的地址栏中输入的字符串就是URL,例如:https://www.baidu.com URL就是同意资源定位符(Uniform Resource Locator),它的一般格式如下(带方括号[]的为可选项): protocol :// hostname[:port] / path / [;parame…
实际项目中用python脚本实现接口测试的步骤: 1 发送请求,获取响应  >>2 提取响应里的数据,对数据进行必要的处理  >>3 断言响应数据是否与预期一致 以豆瓣接口为例,做一个简单的接口测试吧.使用到的知识涉及requests库,json库. 1 发送请求,获取响应 #coding:utf-8 ''' dinghanhua 2018-11-10 接口返回数据为json类型,提取数据实例 ''' import requests import json q = 'python'…
简介:Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求.Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner.更重要的一点是它支持 Python3 哦! 一.安装 使pip安装: pip install requests 安装完后,运行一个简单的例子查看是否安装成功: impo…
HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议对资源的操作: Requests库提供了HTTP所有的基本请求方式.官方介绍:http://www.python-requests.org/en/master Requests库的6个主要方法: Requests库的异常: Requests库的两个重要对象:Request(请求).Response(…
首先要观察爬虫的URL规律,爬取一个贴吧所有页的数据,观察点击下一页时URL是如何变化的. 思路: 定义一个类,初始化方法什么都不用管 定义一个run方法,用来实现主要逻辑 3 class TiebaSpider(): 4 def __init__(self): 5 pass 6 7 8 def run(self): # 实现主要逻辑 9 # 1.构造url列表 10 # 2.遍历列表发送请求,获取响应 11 # 3.保存html页面到本地 思路: 观察要爬取的贴吧URL规律:转化URL,htt…
2018-06-14   17:00:13 环境准备: - Python 3.7 - requests库 - xlrd 1.创建Excel文件 2.读取Excel文件 import xlrd class readExcel(object): def __init__(self, path): self.path = path @property def getSheet(self): # 获取索引 xl = xlrd.open_workbook(self.path) sheet = xl.she…
实例一:页面的爬取 >>> import requests>>> r= requests.get("https://item.jd.com/100003717483.html")>>> r.status_code200>>> r.encoding#说明从HTTP的头部分,已经可以解析出这个页面的编码信息,京东网站提供了页面信息的相关编码'gbk'>>> r.text[:1000]'<!DOC…
基础页面:https://movie.douban.com/top250 代码: from time import sleep from requests import get from bs4 import BeautifulSoup import re import pymysql db = pymysql.connect(host='localhost', user='root', password='123456', db='douban', charset='utf8mb4', cur…
最近学习接口测试,测试工具玩的差不多了,想用代码来尝试一下. 发现一个简单的库,requests 一:安装 pip install requests 二:使用 import requests url = 'http://10.10.100.224:10001/api/emergySwitchServiceZuul/emergySwitch/findDeviceByNumberAndCompanid' data = {"deviceNumber":"12345678"…