多测师讲解requests __中_高级讲师肖sir
(1)生成报告



import unittest #导入单元测试框架
import requests #导入接口库
import time # #时间戳,导入time模块
from api.HTMLTestRunner3 import HTMLTestRunner#导入生成报告类
class Cms_api(unittest.TestCase): #定义一个类继承单元测试框架中的testcase类
@classmethod
def setUpClass(cls): # cls的类的方法
cls.session=requests.Session()#session是一个全局的变量作用是保持上下接口的会话和关联
@classmethod
def tearDownClass(cls):
print ('类的结束')
def setUp(self):
print ('方法的开始')
def test01(self): #定义一个用例 用例名称要用test
'''登录接口'''
url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
data={'userAccount': 'admin','loginPwd': 123456}
header={'Content-Type': 'application/x-www-form-urlencoded'}
# rep =requests.post(url=url,data=data,json=header)
rep =self.session.post(url=url,data=data,json=header)
print (rep.text) #打印登录接口的结果
def test02(self):#定义一个用例用户管理接口
urlist_url='http://129.226.122.199/:8080/cms/manage/queryUserList.do'
urlist_data={'startCreateDate':'', 'endCreateDate':''
,'searchValue':'', 'page': 1}
urlist_he={'Content-Type': 'application/x-www-form-urlencoded'}
ur_rep=requests.post(url=urlist_url,data=urlist_data,json=urlist_he)
ur_rep=self.session.post(url=urlist_url,data=urlist_data,json=urlist_he)
print (ur_rep.text) #打印用户管理接口的结果
def tearDown(self):
print ('方法的结束')
def urits(): #创建一个普通函数 作用是容器存放用例
us =unittest.TestSuite() #容器
# us.addTest(Cms_api('test01')) #单个执行用例
us.addTests([Cms_api('test01'),Cms_api('test02')])#执行多条
return us
if __name__ == '__main__':
#第一种运行方法:运行所有的用例
#unittest.main()
# # #第二种运行方法:可以选择运行用例
# runner = unittest.TextTestRunner()
# runner.run(urits())
# # #第三种运行方法:自动搜索用例
# # 在规定的目录下去搜索以less开头和.py结尾的模块中的用例
# start_dir = r'C:\Users\Administrator\PycharmProjects\untitled\ui'
# discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='lesson2*.py') #*通配符
# print (discover)
# runner = unittest.TextTestRunner()
# runner.run(discover)
# #第四种运行方法:自动化搜索+生成测试报告
start_dir = r'C:\Users\Administrator\PycharmProjects\untitled1\api'
discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='test*.py')# 中间* 是通配符
# 1.定义生成的测试报告的名称
#path= r'C:\Users\Administrator\PycharmProjects\untitled1\api'
##报告生成在我们当前路径,copy本地路径
now = time.strftime('%Y-%m-%d-%H-%M-%S')
filename = r'C:\Users\Administrator\PycharmProjects\untitled1\api'+ "\\" + str(now) + 'api_report.html' ###.html'表示
#print(filename)
f = open(filename, 'bw') # 以二进制的方式在...ui.html文件中写入报告模板和测试结果
##w 是写,b 是表示二进制方式写入,
runner = HTMLTestRunner(stream=f, title='接口自动化测试报告', description='用例执行情况如下:', )
runner.run(discover)
f.close() # 释放资源、关闭文件
自动化测试报告

多测师讲解requests __中_高级讲师肖sir的更多相关文章
- 多测师讲解requests __介绍_高级讲师肖sir
我们今天讲解的内容 一.什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库. 二.安装requests库 1.按住Windows标志+r,在运 ...
- 多测师讲解requests __上_高级讲师肖sir
1.三种接口接口请求方式 # # 在python当中接口的请求方式有哪些:# import requests # 导入requests接口库# # # # 请求方式有三种:# # # # 第一种:# ...
- 多测师讲解 _requests安装问题解决_高级讲师肖sir
步骤一:"dos下新建一个pip文件,在文件下建一个pip.ini 文件,步骤二:文件中内容[global]index-url=http://mirrors.aliyun.com/pypi/ ...
- 多测师讲解自动化测试 _RF连接数据库_高级讲师肖sir
RF连接数据库:1.Connect To Database(连接数据库)2.Table Must Exist(表必须存在)3.Check If Exists In Database(查询某条件是否存在 ...
- 多测师讲解selenium_iframe框定位_高级讲师肖sir
iframe 框定位方法: 查看iframe框 京东点击登录定位元素 定位qq: qq登录定位的元素 查找iframe框 定位iframe框 from selenium import webdrive ...
- 多测师讲解selenium _assert断言_高级讲师肖sir
assert断言 # # 断言:最常用的断言方法if判断# assert Python语法中自带的断言from selenium import webdriverfrom time import sl ...
- 多测师讲解python _re模块_高级讲师肖sir
import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...
- 多测师讲解自动化 _rf 变量_高级讲师肖sir
rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题
- 多测师讲解seleniun_ ACTIONCHAUNS定位_高级讲师肖sir
1.传统方法定位 2.模拟鼠标定位
随机推荐
- padding-top:100%解决高度塌陷问题
<div class="img_box"> <img src="http://sms-shop.oss-cnbeijing.aliyuncs.com/$ ...
- 如何手动合并ts视频文件
手动合并ts视频文件一不需要编程,二不需要下载什么特殊软件,用一些最普通的软件即可. 工具: 1.Chrome浏览器 2.迅雷 3.CMD命令行工具 步骤 一.打开迅雷,先确保没有别的在下载. 二.播 ...
- Zookeeper高级
1.1. 一致性协议概述 前面已经讨论过,在分布式环境下,有很多不确定性因素,故障随时都回发生,也讲了CAP理论,BASE理论 我们希望达到,在分布式环境下能搭建一个高可用的,且数据高一致性的服务,目 ...
- 腾讯云 云开发 部署 Blazor网站
Blazor 应用程序除了在 Github Pages/Gitee Pages等静态资源部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来部署啦! 系统依赖 在进行后续的内容前,请先确保 ...
- python基础:多进程、多线程
一.定义和区别 1.一个任务就是一个进程,进程就是资源的集合.比如打开浏览器,启动一个进程.当一个进程需要干很多事的时候,就需要执行多个子任务,这些子任务就是线程. 2.线程是包含在进程中的,每个进程 ...
- 深入分析Linux内核链表
1. 普通单链表 2. 内核链表 上图是本人从其他博客盗来的,差点被糊弄过去. 下图是本人自己用KeyNote画的(唉!!画图真的是让人心好累啊!!). 差异是不是很明显啊?! Read The Fu ...
- 软件开发过程中常用的环境解释DEV FAT UAT PRO
1.DEV Development environment 开发环境,用于开发者调试使用 2.FAT Feature Acceptance Test environment 功能验收测试环境,用于软件 ...
- 在windows下使用pip安装python包遇到缺失stdint.h文件的错误
今天在windows上使用pip安装一个python包python-lzf时遇到如下的错误: fatal error C1083: Cannot open include file: 'stdint. ...
- EAM在不同行业的应用
EAM在不同行业的应用 EAM从出现至今,已让很多资产密集型企业受益,甚至在一些行业领域里已经是公认的.不可或缺的管理方案,比如电力行业.轨道交通行业等.但由于不同行业或者企业业务类型不同,导致了资产 ...
- 使用singleflight防止缓存击穿(Java)
缓存击穿 在使用缓存时,我们往往是先根据key从缓存中取数据,如果拿不到就去数据源加载数据,写入缓存.但是在某些高并发的情况下,可能会出现缓存击穿的问题,比如一个存在的key,在缓存过期的一刻,同时有 ...