前言:是不是很意外,我又和大家见面了,这个章节咱们学习python allure的使用
1、allure 的介绍

2、allure 的报告概览


3、allure的安装

4、使用allure2生成更加精美的测试报告
pip install allure-pytest(安装这个辅助allure生成测试报告)
pytest --alluredir=指定路径(指定allure报告数据生成路径)
allure serve 报告路径(生成HTML报告,这个会直接在线打开报告)
allure generate ./result/5 -o ./report/5/ --clean(指定生成报告的路径)
allure open -h 127.0.0.1 -p 8888 ./report/5(启动本地服务生成链接查看报告)


5、allure常用的特性

6、@alllure.feature与@allure.store的关系

7、@allure.step()与with allure.step():的区别

8、allure 用issue与testcase关联

9、给测试用例划分优先级

10、给allure 测试报告添加内容(图片、附件、文本、截图、HTML等)

11、实战演练
实例1:

import pytest
import allure
@allure.feature("这是登录模块测试用例")
class Test_login():@allure.story("用户名正确,登录成功")@allure.severity(allure.severity_level.BLOCKER)     #阻塞def test_logina(self):allure.attach("这是一个纯文本",name="文本信息",attachment_type=allure.attachment_type.TEXT)    #添加文本print("这是登录,用户名正确,登录成功")pass@allure.story("密码正确,登录成功")@allure.severity(allure.severity_level.CRITICAL)    #严重def test_loginb(self):allure.attach("<body>这是一个网页</body>",name="HTML测试模块",attachment_type=allure.attachment_type.HTML)    #添加网页print("这是登录,密码正确,登录成功")pass@allure.story("用户名错误,登录失败")# --allure-link-pattern=issue:https://blog.csdn.net/weixin_44275820/article/details/105169871/issue/{}@allure.issue("10086","这是一个bug,需要修复")@allure.severity(allure.severity_level.NORMAL)    #正常问题def test_loginc(self):allure.attach.file("./picture/微信头像.jpg",name="这是一个图片",attachment_type=allure.attachment_type.JPG)    #添加图片print("这是登录,用户名错误,登录失败")pass@allure.story("密码错误,登录失败")@allure.link("https://blog.csdn.net/weixin_44275820/article/details/105169871",name="我的博客")@allure.severity(allure.severity_level.MINOR)    #不太重要def test_logind(self):with allure.step("点击用户名输入框"):print("输入用户名")with allure.step("点击输入密码输入框"):print("输入密码")print("点击登录按钮")with allure.step("点击登录后登录失败"):assert "1" == 1print("这是登录,密码错误,登录失败")passTestcase_link = "https://blog.csdn.net/weixin_44275820/article/details/105169871"@allure.story("用户不存在,登录失败")@allure.testcase(Testcase_link,"我的博客管理平台")@allure.severity(allure.severity_level.TRIVIAL)    #不重要def test_logine(self):print("这是登录,用户不存在,请重新注册")pass@allure.story("密码已锁定,登录失败")def test_loginf(self):print("这是登录,密码已锁定,请重置密码")pass@allure.story("密码为空,登录失败")def test_loging(self):print("这是登录,密码为空,请输入密码")passif __name__ =='__main__':pytest.main("-v -s")

实例2:

import pytest
import allure
import time
from selenium import webdriverTestcase_link1 = "https://www.baidu.com"
@allure.testcase(Testcase_link1,"百度,你值得拥有")
@allure.feature("百度搜索")
@pytest.mark.parametrize("search_data",["奔驰","宝马","保时捷"])
def test_search(search_data):with allure.step("打开百度网页"):driver = webdriver.chrome("C:\\Users\liwenliang\AppData\Local\Google\Chrome\Application\chrome.exe")driver.get("https://www.baidu.com")with allure.step(f"输入搜索词",{Testcase_link1}):driver.find_element_by_id("KW").send_keys(search_data)time.sleep(3)driver.find_element_by_id("SU").click()time.sleep(3)with allure.step("保存图片"):driver.save_screenshot("./result/b.png")allure.attach.file("./result/b.png",name="这是保存的图片",attachment_type=allure.attachment_type.PNG)with allure.step("关闭浏览器"):driver.quit()if __name__ =='__main__':pytest.main("-v -s")

12、数据驱动
数据驱动分为源数据驱动和步骤数据驱动

13、数据驱动的逻辑


我们这里直接用yaml做数据驱动,yaml的基础资料请看一下网址:
https://www.ruanyifeng.com/blog/2016/07/yaml.html
https://yaml.org/spec/1.1/#id857168 1
https://pyyaml.org/wiki/PyYAMLDocumentation

def data():with open("test_data.yaml") as f:yaml.load(f)

14、allure2的解析过程
安装allure2
生成allure测试结果 pytest --alluredir=allure .
展示报告 allure serve allure/
生成最终版本的报告 allure generate allure/
使用allure2提供的api,增强报告
截图、录像、日志、链接、步骤

待更新。。。。。。

python allure的介绍和使用(持续更新中)相关推荐

  1. CV算法工程师面试问题集锦,从基础到进阶,会介绍细节,持续更新中......

    简历上写项目的流程: 项目背景是什么?应用场景在什么地方?目的是什么?创造了什么价值?你做了什么事情?遇到困难时,又是怎么解决的? 面试需要准备的内容: 一.项目描述与项目细节提问 主要描述项目背景, ...

  2. python逻辑回归识别猫(持续更新中)

    逻辑回归 简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾 ...

  3. Python爬虫及其它函数知识读记及简单用法,持续更新中...

    Python爬虫相关函数知识读记及简单用法,持续更新中- requests [riˈkwests] n. 请求,要求( request的名词复数 ): 需要: 所请求的事物: 申请书 函数或单词- 音 ...

  4. 【Python全栈开发从入门到实战】持续更新中......

    本专栏为Python全栈开发系列文章,技术包括Python基础.函数.文件.面向对象.网络编程.并发编程.MySQL数据库.HTML.JavaScript.CSS.JQuery.bootstrap.W ...

  5. Python 100个简单小例子(持续更新中)

    Python 100个简单小例子(持续更新中) 1 编写一个计算平年还是闰年的小例子其核心是年份可以整除4和400,且不是100的倍数且2000年是特殊年份为闰年! year = int(input( ...

  6. 短链服务和应用场景介绍-初级入门(一) 连载持续更新中

    目录 1.什么是短链? 2.为什么需要这种短链服务? 3.短链组成 4.最简单的方式 5.短链创建者和访问者周期 6.短链URL生成服务里面的问题你能提前想到哪些? 1.什么是短链? 协议://短链域 ...

  7. 本专栏所有力扣题目的目录链接, 刷算法题目的顺序(由易到难/面试频率)/注意点/技巧, 以及思维导图源文件问题(持续更新中)

    这篇文章为本专栏所有力扣题目提供目录链接, 更加方便读者根据题型或面试频率进行阅读, 此外也会介绍我在刷题过程中总结的刷算法题目的顺序/注意点/技巧, 最后说下文中出现的思维导图源文件的问题 和 打卡 ...

  8. 学好电气全靠它,个人电气博文目录(持续更新中.....)

    博主是一个电气专业的业余计算机选手,电气毕竟是专业,所以记录下个人电气笔记(随笔哈,毕竟一篇博文我平均只花几个小时),持续更新中- 希望可以关注下我的其他专栏:如算法.NLP,希望去点个赞. 电气专栏 ...

  9. 2020今日头条面试真题及答案整理最新最全持续更新中~~~~

    大家好,我是好好学习天天编程的天天 一个整天在互联网上爬虫的程序员,每天给大家分享学习干货的攻城狮 2020今日头条面试真题及答案整理&最新最全&持续更新中~~~~ 2020今日头条面 ...

  10. 【Spring Boot官方文档原文理解翻译-持续更新中】

    [Spring Boot官方文档原文理解翻译-持续更新中] 文章目录 [Spring Boot官方文档原文理解翻译-持续更新中] Chapter 4. Getting Started 4.1. Int ...

最新文章

  1. MyBatis的一对和多对对和动态SQL
  2. 让你省写大量重复代码的方法 使用PropertyInfo类 反射获取类 的类型 .
  3. Java黑皮书课后题第6章:6.37(格式化整数)编写一个测试程序,提示用户输入一个数字以及宽度,显示通过调用format方法返回的字符串
  4. php禁止代理ip访问_php禁止某ip或ip地址段访问的方法(转载)
  5. CTFHUB 《请求方式》 http请求,curl命令总结
  6. 流程代码中js报错,在javaScript或者jQuery中字符串比较没有equals()方法
  7. Java多线程 5 多线程其他知识简要介绍
  8. Python Imaging Library: ImageMath Module(图像数学运算模块)
  9. 网站发布后验证码不显示
  10. 算法:在有序的链表中删除掉所有重复的数据(包括重复本身的节点)Remove Duplicates from Sorted List II
  11. GPU共享内存小结---pycuda
  12. Chartboost大中华区开发者关系经理刘欣允:如何设计,以增加游戏内收入
  13. java ppt 转pdf_Java 将PPT转为PNG/PDF/SVG/PPTX
  14. CIFAR10数据集集 cifar-10-python.tar.gz
  15. ubuntu加了张固态_UbuntuToGo——打造属于自己的移动固态热插拔Liniux操作系统
  16. mac 我用Mac的这一年
  17. 基于Stm32f103利用模拟iic驱动LM75A温度传感器
  18. 我的数据可视化之旅:从天文学家到数据可视化专家养成记
  19. 股市行情的真谛--威廉.D.江恩
  20. Phaser并发阶段器

热门文章

  1. 记录一个下载的皮肤资源包问题
  2. 作为码农,我们为什么要写作
  3. 国际象棋 标准术语 zz
  4. mysql数值四舍五入_MySQL ROUND函数:四舍五入
  5. PostgreSQL四舍五入
  6. 如何安装java软件_java您的计算机已经安装了此软件
  7. 学习Numpy(一)
  8. 解决Sybase数据库死锁的方法
  9. 计算机组成原理之处理器
  10. 2020年全球及中国户外用品行业发展现状及竞争格局分析,高端市场被国外一线品牌垄断「图」