自动化测试===unittest和requests接口测试案例,…
2018-06-17 23:41:42来源:未知 阅读 ()
在原来基础上生成测试报告:
首先需要 HTMLTestRunner.py 的unittest生成报告文件 (源码,自动化测试===unittest配套的HTMLTestRunner.py生成html报告源码)
然后稍微修改代码:
import requests
import json
import unittest
import time
from HTMLTestRunner import HTMLTestRunner
class MyTest(unittest.TestCase):
def setUp(self):
print("[+]start")
def tearDown(self):
print("[+]end")
def zhongtong(self,type = "zhongtong", id = "719857434111"):
self.url = "http://www.kuaidi100.com/query"
self.params = {
"type":type,
"postid":id
}
self.headers={'user-agent': 'my-app/0.0.1'}
r = requests.get(url = self.url, params = self.params , headers = self.headers)
print(r.status_code)
return r
class ExpressInquiry(MyTest):
def test001_type_valid(self):
print("00001")
zhongtong = self.zhongtong(type = "shentong")
self.assertIn("快递公司参数异常",zhongtong.text)
def test002_type_invalid(self):
print("00002")
zhongtong = self.zhongtong(type = "sssssssssssss")
self.assertIn("参数错误",zhongtong.text)
def test003_id_valid(self):
print("00003")
id = self.zhongtong(id = "719857434155")
self.assertIn("交通工程学院菜鸟驿站",id.text)
def test004_id_invalid(self):
print("00004")
id = self.zhongtong(id = "123")
self.assertIn("参数错误",id.text)
def test005_type_id_invalid(self):
print("00005")
type_and_id = self.zhongtong(type = "dads",id = "7777")
#print(type_and_id.url)
#print(type_and_id.text)
self.assertIn("参数错误",type_and_id.text)
def test006_type_id_null(self):
print("00006")
null = self.zhongtong(type = "", id = "")
#print(null.url)
#print(null.text)
self.assertIn("参数错误",null.text)
def suite():
now = time.strftime("%Y-%m-%d %H_%M_%S")
filename = './' + now + 'test_result.html'
fp = open(filename,'wb')
runner = HTMLTestRunner(stream = fp,
title = "快递查询接口测试报告",
description = "测试用例执行情况:")
suite = unittest.TestSuite()
suite.addTest(ExpressInquiry("test001_type_valid"))
suite.addTest(ExpressInquiry("test002_type_invalid"))
suite.addTest(ExpressInquiry("test003_id_valid"))
suite.addTest(ExpressInquiry("test004_id_invalid"))
suite.addTest(ExpressInquiry("test005_type_id_invalid"))
suite.addTest(ExpressInquiry("test006_type_id_null"))
#unittest.TextTestRunner().run(suite)
runner.run(suite)
fp.close()
if __name__ == '__main__':
#unittest.main(exit = False , verbosity = 2)
#它是全局方法,把它屏蔽后,不在suite的用例就不会跑,exit = False表示中间有用例失败也继续执行;还有比较常用的verbosity=2,表示显示def名字
suite()
运行完毕的测试结果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python的学习之路day4
下一篇:queue队列
- Python单元测试笔记 2019-08-13
- Python sklearn拆分训练集、测试集及预测导出评分 决策树 2019-08-13
- linux安装 uwsgi 测试 test.py 不显示hello world 的解决办 2019-08-13
- python自动化测试之DDT数据驱动 2019-07-24
- python+selenium实现自动化百度搜索关键词 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash