(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. 新三种求数列中值SQL之效率再比拼

    在  https://www.cnblogs.com/xiandedanteng/p/12677688.html 中我列举了三种求中值方案,其中日本人MICK的做法因为不适用于二百万结果集而放弃,取而 ...

  2. 关于Vue-Router的那些事儿

    Vue-Router Vu-router是Vue.js的官方路由管理器,方便于构建页面,在我们的使用过程中,一般是在router的index.js文件中配置对应的组件和对应的路径 主要的功能 嵌套路由 ...

  3. Django设置前端背景图片

    设置 setting.py 文件 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static&qu ...

  4. [Java并发编程之美]第1章 线程基础

    第1章 线程 1.1 线程与进程 进程是操作系统资源分配和调度的基本单位,但cpu资源是分配到线程的,也就是线程是CPU分配的基本单位. 线程自己的栈资源中,存放的局部变量是线程私有的,其他线程无法访 ...

  5. nginx异步访问mysql

    nginx中有一个模块有这个功能,(以前的文章中扩展,这里叫模块,以后统一叫模块,模块可能准确点,因为扩展是单独的文件,而模块是嵌入到主文件中的),这个模块叫drizzle-nginx-module, ...

  6. javascript操作多选下拉列表

    闲来无事,把javascript操作多选下拉列表有关的操作知识复习了一遍,代码附上 <%-- Created by IntelliJ IDEA. User: Administrator Date ...

  7. 从基础到实践,一文带你看懂HashMap

    摘要:HashMap是一个用于存储Key-Value键值对的集合,它是面试中经常问到的一个知识点. HashMap是面试中经常问到的一个知识点,也是判断一个候选人基础是否扎实的标准之一,因为通过Has ...

  8. ==、equals()、hashcode()的关系和区别

    ==.equals().hashcode()概念 ==:它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不试同一个对象. equals():它的作用也是判断两个对象是否相等.但它一般有两种使 ...

  9. KONGA下的HAMC插件功能 --JAVA代码实现

    设置HAMC插件 postman模拟请发发送:  Java代码: HMAC-SHA-256工具类 1 import java.security.InvalidKeyException; 2 impor ...

  10. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...