Allure测试框架 python
关于Allure
Allure是一个report框架,可以基于一些测试框架生成测试报告,比较常用的一般是Junit/Testng框架;
Allure 生成的报告样式简洁美观,同时又支持中文;
Allure还支持使用Jenkins工具持续集成,整套环境搭建下来以后,使用起来非常方便。
分析测试的整体趋势
实现自动化测试用例与手动测试用例关联
下载allure
https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip
并配置环境变量
官网:
下载:pip install allure-pytest
使用
pytest --alluredir=/tmp/my_allure_results
pytest test_baidu.py --alluredir ./result1
生成报告:allure serve /tmp/my_allure_results
Allure特性
pytest test_baidu.py --alluredir ./result1 --allure-features "搜索类"
import allure
@allure.feature("搜索类")
class TestSearchDemo:
@allure.story("搜索 英文")
def test_search(self):
print("这是一个搜索测试 英文")
@allure.story("搜索 中文")
def test_search1(self):
print("这是一个搜索测试1 中文")
@allure.story("搜索 特殊字符")
def test_search2(self):
print("这是一个搜索测试2 特殊字符")

清除之前的记录: --clean-alluredir
添加图片,html代码块,视频
import allure
import pytest @allure.feature("搜索类")
class TestSearchDemo:
@allure.story("搜索 英文")
#关键字驱动
@pytest.mark.parametrize("searchkey",[
"android","连衣裙","$#2!"
])
def test_search(self,searchkey):
with allure.step("第1步"):
print("第一步:打开搜索页面")
with allure.step("第2步"):
print("第二步:点击搜索框")
with allure.step("第3步"):
print(f"第三步:输入搜索词:{searchkey}") @allure.story("搜索 中文")
def test_search1(self):
print("这是一个搜索测试1 中文") @allure.story("搜索 特殊字符")
def test_search2(self):
print("这是一个搜索测试2 特殊字符") @allure.feature("登录类")
class TestLoginDemo:
def test_login1(self):
#插入图片
allure.attach('<img class="s_lg_img_gold_show" src="//www.baidu.com/img/flexible/logo/pc/result.png" alt="到百度首页" title="到百度首页">',
attachment_type=allure.attachment_type.HTML)
#插入本地图片
allure.attach.file('/Users/ADMIN/Desktop/a8d5a467242709a8c3a49a336abae8cd_1.PNG',
attachment_type=allure.attachment_type.PNG)
# 插入本地视频 allure.attach.file allure.attachment_type.MP4
print("login1") def test_login2(self):
print("login2") def test_login3(self):
print("login3")



Allure测试框架 python的更多相关文章
- XUnit测试框架-Python unittest
选择 语言选择 本次个人作业我选择的语言是Python,了解学习Python有一段时间了但是一直没有练习,所以这次玩蛇,使用的版本是Python3.6. 开发工具选择 我选择的IDE是Pycharm, ...
- pytest+allure测试框架搭建
https://blog.csdn.net/wust_lh/article/details/86685912 https://www.jianshu.com/p/9673b2aeb0d3 定制化展示数 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 全功能Python测试框架:pytest
python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest. imag ...
- [转]Python测试框架对比----unittest, pytest, nose, robot framework对比
测试框架 什么是框架? 框架(Framework)是整个或部分系统的可重用设计,框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求 ...
- Python测试框架对比
如有任何学习问题,可以添加作者微信:lockingfree 更多学习资料请加QQ群: 822601020获取 unittest, pytest, nose, robot framework对比 什么是 ...
- Pytest测试框架(五):pytest + allure生成测试报告
Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...
- 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本
某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...
- Python几种常用的测试框架
一.测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的: 每个测试单元必须是完全独立的,必须能单独运行.这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作.通常通过 ...
随机推荐
- Kubernetes 实战——升级应用(Deployment)
一.更新运行在 Pod 内的应用程序 1. 修改 Pod 模板 将导致应用程序在一定时间内不可用 2. 修改 Service 的 Pod 选择器 需要同时运行两倍的 Pod 3. 滚动升级 应用程序需 ...
- python学习笔记02-简单游戏
一拖又过去快一个月了,哭聊.. 惰性千万不要有.. 今天简单接触一下条件语句 一个简单的文字游戏 1 print('----第一个文字游戏----') 2 temp = input('猜一下现在心里想 ...
- css基本内容笔记(学习整理)
一.css简介 1.什么是css 层叠样式表. 层叠:层层叠加,若果有冲突应用优先级高,不冲突的部分共同作用 样式表:就是css属性样式的集合: 2.作用 a.修饰html,使得html样式更好看 b ...
- JDK并发包一
JDK并发包一 同步控制是并发程序必不可少的重要手段,synchronized是一种最简单的控制方法.但JDK提供了更加强大的方法----重入锁 重入锁 重入锁使用java.util.concurre ...
- App免责声明
一切移动客户端用户在下载并浏览xxxAPP软件时均被视为已经仔细阅读本条款并完全同意.凡以任何方式使用本APP,或直接.间接使用本APP资料者,均被视为自愿接受本网页相关声明和用户服务协议的约束. x ...
- 从零开始学前端,React框架背后的核心机制和原理JSX
什么是React React是起源于Facebook的一个前端框架,用于构建用户界面的JavaScript库,Facebook用来探索一种更加高效优雅的Javascript MVC框架来架设Insta ...
- 使用 python 把一个文件生成 C 语言中的数组并保存到头文件中
(一)要做什么 之前有这么一个需求,是要把一个二进制文件里面的数据,转换成 C 代码里面的数组,可以看之前的一篇文章: NUC980 运行 RT-Thread 驱动 SPI 接口 OLED 播放 ba ...
- python之tuple元组,基础篇
元组:它是一个序列,跟列表一样,里面存放多个元素 特点:1.有序的2.每个元素不可以被更改,不可以增加,不可以删除3.元组每个元素可以是任何数据类型1,定义一个非空元组 name_tuple = (& ...
- UI自动化学习笔记- Selenium一些特殊操作的处理
一.特殊操作处理 1. 下拉选择框操作 1.1 如何操作下拉选择框 实现方式一 思路:先定位到要操作的option元素,然后执行点击操作 driver.find_element_by_css_sele ...
- JavaWeb入门知识梳理
万维网 Web App(Web应用程序)是一种可以通过万维网访问的应用程序,用户只需要连接互联网和计算机安装浏览器,即可通过URI在线使用某个Web App,而不需要再安装客户端到计算机上.Web A ...