(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的更多相关文章

  1. 多测师讲解requests __介绍_高级讲师肖sir

    我们今天讲解的内容 一.什么是Requests? Requests是用Python语言编写的简单易用的HTTP库,用来做接口测试的库. 二.安装requests库 1.按住Windows标志+r,在运 ...

  2. 多测师讲解requests __上_高级讲师肖sir

    1.三种接口接口请求方式 # # 在python当中接口的请求方式有哪些:# import requests # 导入requests接口库# # # # 请求方式有三种:# # # # 第一种:# ...

  3. 多测师讲解 _requests安装问题解决_高级讲师肖sir

    步骤一:"dos下新建一个pip文件,在文件下建一个pip.ini 文件,步骤二:文件中内容[global]index-url=http://mirrors.aliyun.com/pypi/ ...

  4. 多测师讲解自动化测试 _RF连接数据库_高级讲师肖sir

    RF连接数据库:1.Connect To Database(连接数据库)2.Table Must Exist(表必须存在)3.Check If Exists In Database(查询某条件是否存在 ...

  5. 多测师讲解selenium_iframe框定位_高级讲师肖sir

    iframe 框定位方法: 查看iframe框 京东点击登录定位元素 定位qq: qq登录定位的元素 查找iframe框 定位iframe框 from selenium import webdrive ...

  6. 多测师讲解selenium _assert断言_高级讲师肖sir

    assert断言 # # 断言:最常用的断言方法if判断# assert Python语法中自带的断言from selenium import webdriverfrom time import sl ...

  7. 多测师讲解python _re模块_高级讲师肖sir

    import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...

  8. 多测师讲解自动化 _rf 变量_高级讲师肖sir

    rf变量 log 打印全局变量 列表变量: 字典变量: 查看当前工程下的变量 紫色表示变量名有误 设置全局变量 设置列表变量 设置字段变量 关键字书写格式问题

  9. 多测师讲解seleniun_ ACTIONCHAUNS定位_高级讲师肖sir

    1.传统方法定位 2.模拟鼠标定位

随机推荐

  1. 【Flutter 实战】1.20版本更新及新增组件

    老孟导读:Flutter 1.20 更新了 Slider.RangeSlider.日期选择器组件.时间选择器组件的样式,新增了交换组件:InteractiveViewer,下面详细介绍其用法. 滑块 ...

  2. CSS居中的多种方法

    1.水平居中:text-align 与 inline-block 的配合 <div id = "div_center_align"> <div id = &quo ...

  3. Python解答蓝桥杯省赛真题之从入门到真题(二刷题目一直更新)

    蓝桥刷题 原文链接: https://github.com/libo-sober/LanQiaoCup Python解答蓝桥杯省赛真题之从入门到真题 不同字串 """ 一 ...

  4. 大写的服,看完这篇你还不懂RocketMQ算我输

    目录 RocketMQ介绍 RocketMQ概念 为什么要用RocketMQ? 异步解耦 削峰填谷 分布式事务最终一致性 数据分发 RocketMQ架构 RocketMQ消息类型 普通消息 顺序消息 ...

  5. Express下ejs的视图模板引擎的建立

    写在前面 由于Express升级到4.0,将ejs的用法忽略,改为用户自定义形式,所以要引入库index.js作为引擎,来支持ejs的模板引擎(点击下载). 首先是建立一个名字叫nodeitem,引擎 ...

  6. Typora基础使用

    Markdown学习 标题 三级标题 四级标题 字体 Hello,World! Hello,World! Hello,World! Hello,World! 引用 选择狂神说Java,走向人生巅峰 分 ...

  7. 我的Python自学之路-001 列表的知识

    #_date_:2020/9/11 '''列表和字典是python中用的最多的数据类型 假如要存储一个班级的人名,需要怎么做?有这么几种方法:1.定义很多个变量: name0 = 'wucaho' n ...

  8. JsonPath使用教程

    application/json标识Json数据格式,是Http请求常见的一种Content-Type.我们经常也会看到接口返回数据类型为json格式.功能测试/自动化脚本里,经常会需要提取json数 ...

  9. MySql基础_DDL_DML_DQL(资料一)

    今日内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓 ...

  10. 第一篇 Hell wcf

    老老实实学WCF  第一篇 Hello WCF WCF(Windows Communication Foundation)是微软公司推出的面向服务技术的集大成者,涵盖继承了其之前发布的所有的分布式应用 ...