多测师讲解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.模拟鼠标定位
随机推荐
- Java面试题(1):详解int与Integer
Java面试题(1):详解int与Integer int与Integer的区别 int是Java的基本数据类型之一,Integer是int的包装类 int直接再内存中储存值,Integer进行new操 ...
- Mysql数据库扩展
安装跟卸载 Mysql安装 下载Mysql源安装包 1 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.r ...
- 用C、python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群
想没想过,自己写一个redis客户端,是不是很难呢? 其实,并不是特别难. 首先,要知道redis服务端用的通信协议,建议直接去官网看,博客啥的其实也是从官网摘抄的,或者从其他博客抄的(忽略). 协议 ...
- windows下搭建ElasticSearch
1.官网下载ElasticSearch,需要java环境支持 地址:https://www.elastic.co/products/elasticsearch 2.下载后解压到目录 ...
- Powershell编程基础-003-脚本的绝对路径及所在的目录
在运行脚本的时候,有时候需要通过脚本文件所在目录路径来做一些事, 如脚本5201351.ps1脚本, 常规思路实现>>>>: 1.如果要获取这个脚本所在的绝对路径,可以使用内置 ...
- MiniJpegDecoder使用介绍
承接昨天写的<JPEG软解码实现介绍>,今天介绍其使用方法和一些细节说明. 1.仓库下已经包含了几个jpeg文件,以方便直接校验. 2.使用命令分为两种模式. 一种是直接解码为yuv文件, ...
- NLP常见任务
借助BERT论文, 梳理下自然语言处理当前常见的任务. NLP任务 根据判断主题的级别, 将所有的NLP任务分为两种类型: token-level task: token级别的任务. 如完形填空(Cl ...
- Linux的MySQL安装方法
第一种: APT方式安装 在ubuntu系统的apt软件仓库中,默认存在MySQL数据库 在用户模式下使用命令: apt/apt-get install mysql-server mysql-cli ...
- HTML你好!
初识HTML 什么是HTML web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本(hypertext).超媒体(hypermed ...
- JS中的DOM对象
DOM对象 1. DOM树 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),通过 HTML DOM对象,可访问 JavaScript HTML 文档的所有 ...