当前位置: 首页 > news >正文

以数字域名为网址的网站网站关键词 公司

以数字域名为网址的网站,网站关键词 公司,凡客达人的运作模式,网络营销课程视频做接口自动化业务时,可以有选择性的来实现测试报告 第一种:HTMLTestRunnerNew 第二种:unittestreport Tips: 第二种是大佬木森开发的可以借鉴一下,相关链接:unittestreport 一、生成HTMLTestRunnerNew测试…

做接口自动化业务时,可以有选择性的来实现测试报告
第一种:HTMLTestRunnerNew
第二种:unittestreport

Tips: 第二种是大佬木森开发的可以借鉴一下,相关链接:unittestreport

一、生成HTMLTestRunnerNew测试报告

  1. HTMLTestRunnerNew百度网盘: HTMLTestRunnerNew.py
    提取码: 0000
    下载后存放到第三方库或者D:\data\python3.8.7目录下都行
  2. 随意写个unittest用例,如下
import unittest
import requests
from lesson import toothclass BoothList(unittest.TestCase):def test_1_booth_list(self):"""列出流程接口:return:"""try:response = requests.post(url=tooth.url, json=tooth.data, headers=tooth.headers).json()self.assertEqual(200, response["code"], msg="test_a_booth_list的断言报错了")print(response)return responseexcept Exception as e:raise edef test_2_booth_lists(self):"""流程号详情:return:"""try:response = requests.post(url=tooth.url, json=tooth.data, headers=tooth.headers).json()self.assertEqual(200, response["code"], msg="test_a_booth_list的断言报错了")print(response)return responseexcept Exception as e:raise e
  1. run执行入口
import unittest
from datetime import datetime
import HTMLTestRunnerNew
from lesson.tooth import test_report_path
from cases.booth_list import BoothListcurrent_time = datetime.strftime(datetime.now(), '%Y-%m-%d_%H-%M-%S_' + 'report')suite = unittest.TestSuite()load = unittest.TestLoader()
suite.addTest(load.loadTestsFromTestCase(BoothList))with open(test_report_path + '{}.html'.format(current_time), "wb") as file:runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file, verbosity=2,title="测试报告",description="业务测试",tester="qy")runner.run(suite)

在这里插入图片描述

  1. 简单写一下测试数据

    在这里插入图片描述

  2. 执行结果(有时候会丢失样式,没关系)
    在这里插入图片描述
    Tips: 代码方法都差不多, 暂不讲解

二、生成unittestreport测试报告

很重要:目录和文件名,
测试目录随意写无所谓
测试用例py文件必须以test开头,要不然找不到
在这里插入图片描述

安装插件(pycahrm设置内安装也可以)

pip3 install unittestreport
  1. runs执行入口如下
import unittest
import unittestreport
import time
from lesson.tooth import test_report_pathcurrent_time = str(time.strftime("%Y-%m-%d_%H_%M_%S_", time.localtime()) + 'report')
suite = unittest.defaultTestLoader.discover(R"D:\email_t\cases")
with open(test_report_path + '{}.html'.format(current_time), "wb") as file:runner = unittestreport.TestRunner(suite,tester='qy',filename='{}.html'.format(current_time),report_dir=r"D:\email_t\report_test",title='接口自动化回归测试',desc='qy的进场项目',templates=1)runner.run()

在这里插入图片描述

  1. 测试报告样式有三种类型, 第一种,templates=1
    在这里插入图片描述

  2. 第二种,templates=2 , 感觉第二种比较详细,可借用
    在这里插入图片描述
    在这里插入图片描述

  3. 第三种,templates=3 , 感觉第三种测试报告样式也不错
    在这里插入图片描述

在这里插入图片描述

三、失败重运行

运行时加上参数,即可实现用例失败重运行
count:用来指定用例失败重运行的次数
interval:指定每次重运行的时间间隔

  1. 其他不动,只需要添加2个参数
    在这里插入图片描述
  2. 查看报告,可以详细查看失败用例,历史构建结果,详情信息,挺完善的
    在这里插入图片描述
    在这里插入图片描述

四、用例执行顺序

  1. 准备数据,准备了2个类,5个接口
    在这里插入图片描述

  2. 调试run执行入口

    • 引入TestRunner
    • 整理收集测试用例集(把类名和测试方法写入)

    在这里插入图片描述
    在这里插入图片描述

run完整代码

import time
from lesson.tooth import test_report_path
from unittestreport import TestRunner
from cases.test_booth_list import *run_case = [{"cls": BoothList,"run_case": {"test_a_booth_list": BoothList.test_booth_list,"test_b_booth_list": BoothList.test_booth_lists}}, {"cls": BoothList2,"run_case": {"test_a_booth_list": BoothList2.test_booth_lis,"test_b_booth_list": BoothList2.test_booth_listss,"test_c_booth_list": BoothList2.test_booth_listsss,}}]suite = TestRunner.customize_run_case(run_case)current_time = str(time.strftime("%Y-%m-%d_%H_%M_%S_", time.localtime()) + 'report')
# suite = unittest.defaultTestLoader.discover(R"D:\email_t\cases")
with open(test_report_path + '{}.html'.format(current_time), "wb") as file:runner = TestRunner(suite=suite,tester='qy',filename='{}.html'.format(current_time),report_dir=r"D:\email_t\report_test",title='接口自动化回归测试',desc='qy的进场项目',templates=1)runner.run()

Tips:
一共两个类,5个用例,你想让那个类或类方法在前面执行就放在前面,只要单个类里面不重名就行,真正操作顺序的是cls和run_case的key来控制的

  1. 执行后查看报告结果,,第一次执行会有json文件,可以看控制台是否执行成功,一切都没问题
    在这里插入图片描述
  2. 执行结果查看,测试用例数、用例详情、用例描述、测试方法列可以查看执行顺序,执行结果可以筛选成功或失败等,主要看执行顺序是否按照编排的执行,和上面对下没问题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

五、 发送到普通邮箱

host: smtp服务器地址
port:端口
user:邮箱账号
password:smtp服务授权码
to_addrs:收件人邮箱地址(一个收件人传字符串,多个收件人传列表)
注意:目前发送邮件只支持465和25端口

在这里插入图片描述
在这里插入图片描述
再次查看都没问题
在这里插入图片描述

六、推送测试结果到企业微信&钉钉

1. 推送到钉钉
关于把测试结果推送到钉钉群,unittestreport里面进行了封装。执行完用例之后,调用TestRunner对象的dingtalk_notice方法即可url: 钉钉机器人的Webhook地址
key: (非必传:str类型)如果钉钉机器人安全设置了关键字,则需要传入对应的关键字
secret:(非必传:str类型)如果钉钉机器人安全设置了签名,则需要传入对应的密钥
atMobiles: (非必传,list类型)发送通知钉钉中要@人的手机号列表,如:[137xxx,188xxx]
isatall: 是否@所有人,默认为False,设为True则会@所有人
except_info:是否发送未通过用例的详细信息,默认为False,设为True则会发送失败用例的详细信息import unittest
from unittestreport import TestRunner# 收集用例到套件
suite = unittest.defaultTestLoader.discover(CASE_DIR)
runner = TestRunner(suite)
# 执行用例
runner.run()url = "https://oapi.dingtalk.com/robot/send?access_token=6e2a63c2b9d870ee878335b5ce6d5d10bb1218b8e64a4e2b55f96a6d116aaf50"
# 发送钉钉通知  
runner.dingtalk_notice(url=url, key='钉钉安全设置的关键字',secret='钉钉安全设置签名的秘钥')# 备注:关于钉钉群机器人的创建大家可以去看钉钉开放平台上的教程,关键字和秘钥,根据创建钉钉机器人时设置的去添加,没有设置就不需要传这个参数。# 上面都一样,就是多加了一个URL和钉钉配置参数,可以自行研究
2. 推送结果到企业微信
chatid: 企业微信群id
access_token:调用企业微信API接口的凭证
corpid:企业ID
corpsecret:应用的凭证密钥
案例代码
import unittest
from tests.test_case import TestClass
from unittestreport import TestRunner
# 加载用例
suite = unittest.defaultTestLoader.loadTestsFromTestCase(TestClass)
runner = TestRunner(suite=suite)
# 运行用例
runner.run()# 推送测试结果到企业微信
# 方式一:
runner.weixin_notice(chatid="企业微信群id", access_token="调用企业微信API接口的凭证")
# 方式二:
runner.weixin_notice(chatid="企业微信群id",corpid='企业ID', corpsecret='应用的凭证密钥')# 前面都一样,推送结果的时候加一些参数即可

七、并发用例执行

import unittestreport
# 1、加载测试用例到套件中
suite = unittest.defaultTestLoader.discover(r'C:\project\open_class\Py0507\testcase')
runner = TestRunner(suite=suite)
# 2、设置5个线程去执行用例
runner.run(thread_count=5)# 前面代码都一样,在执行时加了一个参数thread_count即可指定运行用例时开启的线程数量
# 注意点
## 不同的测试类之间,不能有数据依赖,因为多线程并发没办法保证执行的先后顺序
## 多线程全局变量共享的问题
## 多线程是共享全局变量的,如果要以多线程执行用例,还需要考虑全局资源竞争的问题,就是用例在执行的过程中不能修改多个测试类中共用的全局数据(资源)。否则会影响其他的用例执行。

八、使用pytest生成unittestreport的html报告

  1. 安装插件
    pip3 install pytest-testreport
    注意点:如果安装了pytest-html这个插件,请先卸载,不然会有冲突

命令行执行

运行测试时加上参数--report 指定报告文件名pytest --report=musen.html其他配置参数
--title=指定报告标题
--tester=指定报告中的测试者
--desc = 指定报告中的项目描述
--template = 指定报告模板样式(1 or 2)同时使用多个参数
pytest --report=musen.html --title=测试报告 --tester=qy --desc=项目描述  --template=2

pytest.main执行

import pytest
pytest.main(['--report=musen.html','--title=测试报告标题','--tester=qy','--desc=报告描述信息','--template=2'])
http://www.dtcms.com/a/545457.html

相关文章:

  • 网站制作书生百度认证
  • leetcode 283. 移动零 pythton
  • wap网站服务器企业网站建设方案论文
  • 嵌入式网络编程深度探索:无线网络驱动开发实战指南
  • 数学分析简明教程课后习题详解——1.2
  • --- 单源BFS权值为一算法 迷宫中离入口最近的出口 ---
  • LVGL3(Helloworld)
  • 量化交易网站开发自己的网站做弹出广告
  • 三明市建设局网站官网网络营销方案
  • CODESYS中基于CAA File库的CSV文件读写与表格可视化全解析
  • PRA(流程机器人自动化)与智能体(AI Agent)主要区别与分析
  • GPT-3 技术报告
  • C++数据结构(链表和list)
  • 【Maven】mac安装maven
  • 有哪些网站能够免费找到素材wordpress 制作小工具栏
  • 深入剖析:仓颉语言的性能优化核心技术
  • .Net Core基于EasyCore.EventBus实现事件总线
  • 公司怎么做网站推广郑州包装设计公司
  • 阿里云服务器上构建基于PoS的以太坊2.0私有链
  • 如何把网站推广出编程代码怎么学
  • C++ 单调栈
  • 电商网站开发 上海wordpress 登陆 没反应
  • 服务器网站备案wordpress三道杠菜单
  • mysql upsert 用法(批量保存或更新)
  • 海康相机与机器人标定
  • 十年后,AI会赋予工业怎样的力量?
  • 西安市建设协会网站高级搜索入口
  • 东莞个人网站推广建设做中东市场哪个网站合适
  • Spring Boot 3 整合 LiteFlow:轻量级流程编排框架学习
  • Rust:WebSocket支持的实现