python unittest 测试笔记(二):使用Requests
1. Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。
[Python Requests快速入门 :]http://cn.python-requests.org/zh_CN/latest/
2. 没有经过测试的东西都是不完整的。
[测试 Flask 应用]http://docs.jinkan.org/docs/flask/testing.html
3. Requests接口测试实例
(1)导入需要的模块,并创建unittest.TestCase(这里默认安装好了Requests, 如果没有, pip install requests)
# coding=utf-8
import json
import unittest import os
from nose.tools import *
from tests import helper
from flask import create_app, db
from flask.models import Warehouse, Provider, Category, \
Product, Stock, ShoppingCartGroup, shoppingcart, ShoppingCartItem, User, Order
from helper import generate_user, create_warehouse, create_stocks
from login_page import login
from forgery_py import name, address, currency, basic, lorem_ipsum
import random class RESTfulAPITest(unittest.TestCase):
def setUp(self):
self.app = create_app('testing')
self.app_crx = self.app.app_context()
self.app_crx.push()
self.client = self.app.test_client() db.drop_all()
db.create_all() user = generate_user(self.app)
login(self, user.email, user.password)
self.user = user from data import seeds
seeds.all_(self.app) def tearDown(self):
self.app_crx.pop()
(2)利用Requests进行接口测试。
def test_if_imoport_check_works(self):
_url = '/' #测试的接口
_dir = './data/samples/orders/commons' #预设的json文件 def pass_extensions(_file):
filename, file_extension = os.path.splitext(_file)
if file_extension in ['.xlsx' '.cvs']:
data = {'file': open(os.path.join(root, file), 'rb')}
response = self.client.post(_url, data=data)
actual_data = json.loads(response.data) assert_equal(response.status_code, 200)
assert_greater(len(actual_data), 0)
assert_greater(len(actual_data.get('file')), 0)
assert_is_none(actual_data.get('errors')) for root, dirs, files in os.walk(_dir):
[pass_extensions(file) for file in files]
(3)测试网页返回的状态码
1 def test_order_list(self): #定义order list() 方法的测试用例
2 response = self.client.get('order/list.html')
3 assert_not_equal(response.status_code, 200) #判断返回的状态码,确定html 是否可用。
test_order_list继承自unittest.TestCase,是一个测试用例。
response=requests.get(self.base_url,params=self.list),get方法中两个参数分别是URL和传递的参数。请求的url其实就是html 。后面加上个断言,用户判断响应是否与预期一致,这里是响应状态码是否等于200。
python unittest 测试笔记(二):使用Requests的更多相关文章
- python unittest 测试笔记(一)
测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败. python 单元测试官方文档: [Python: 2.7] (https://docs.python.or ...
- 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...
- python:unittest(测试框架)
一,基本概念 TestCase:所有测试用例的基类 TestLoad:加载测试用例,返回TestSuite(测试套件) TestSuite:创建测试套件 TextTestRunner:运行测试用例 T ...
- Python unittest 测试输入(input)和输出(print)
Python 自带的 unittest 库可以用来写单元测试. 测试输入输出的解决方法是: 将标准输入输出定向到一个StringIO类(python3是 io.StringIO). import un ...
- webdriver(python)学习笔记二
自己开始一个脚本开始学习: # coding = utf-8 from selenium import webdriver browser = webdriver.Firefox() browser. ...
- 《简明python教程》笔记二
面向对象的编程: 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例.对象可以使用普通的属于对象的变量存储数据.属于一个对象或类的变量被称为域.对象也可以使用属于类的函数来具 ...
- python基础学习笔记二之列表
1.列表 ①列表的创建: ②列表的查询(索引): ③列表的切片操作: 此处要注意到:返回索引0到3的元素,顾头不顾尾. ④列表的增加: s.append() #直接在结尾追加 s.insert() ...
- Python unittest模块心得(二)
基础概念介绍请参看: http://www.cnblogs.com/frost-hit/p/8295818.html 组织测试用例 unittest.TestSuite(tests=()): 除了使用 ...
- 【Python】学习笔记二:基本数据类型
变量 python的变量不需要提前声明,可以直接输入: >>> str = 'oliver' 此时,str已经被赋值字符串oliver,在赋值之前并没有提前定义与事先声明 打印值 & ...
随机推荐
- sql连接查询中on筛选与where筛选的区别
sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能. 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏. ...
- js中将yyyy-MM-dd格式的日期转换
1.转换为yyyy年MM月dd日 var str = "2017-02-16"; var reg =/(\d{4})\-(\d{2})\-(\d{2})/; var date = ...
- 分享我的学习记录 svn地址
地址:svn://121.42.160.2/myproject 用户名:scaner 密码:zhinengkan 这个用户只有读权限,没有修改的权限,如果有什么建议或代码中有不对的地方,欢迎再留言中告 ...
- 现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的
题目: 现有‘abcdefghijkl’12个字符,将其所有的排列按字典序进行排序,给出任意一组排列,说出这租排列在所有排列中是第几小的 据说这道题是百度校招的一道算法题,反正我觉得我在学校的时候很可 ...
- 动画制作 手机APP制作以及响应式的实现
babber 宽度:浏览器的100% 原则上:高度-=图片高度 banner img 宽度:图片的实际宽度 高度:充满父容器 使用定位:让图片在父容器中绝对居中. <!DOCTYPE h ...
- CSAcademy Beta Round #4 Swap Pairing
题目链接:https://csacademy.com/contest/arhiva/#task/swap_pairing/ 大意是给2*n个包含n种数字,每种数字出现恰好2次的数列,每一步操作可以交换 ...
- Excel 中使用sql语句查询
将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和 ...
- C语言结构体中字符数组的问题
第一个程序 #include <stdio.h> #include <string.h> typedef struct student { char name[10]; int ...
- clear-fix清除浮动的两种写法
1. [代码]clearfix 清除浮动 .clearfix:after { content: "."; display: block; height: 0; font-size: ...
- APP反编译第一课《如何找到核心代码》
相信很多人都应该会去接触APP反编译,本小七给大家带来入门级别套路,自己也在慢慢摸索学习,一起成长吧.第一步,反编译需要的工具有:一.java环境,其实这里你只要安装了burp就不用管这个的二.apk ...