pytest+allure展示环境信息
allure展示环境信息
要将信息添加到Environment小部件,只需在生成报告之前在目录中创建environment.properties(或environment.xml)文件allure-results。
环境属性
浏览器= Chrome
Browser.Version = 63.0
展位=生产
environment.xml
路径:
report/xml目录下
<environment>
<parameter>
<key>Browser</key>
<value>Chrome</value>
</parameter>
<parameter>
<key>Browser.Version</key>
<value>63.0</value>
</parameter>
<parameter>
<key>Stand</key>
<value>Production</value>
</parameter>
</environment>
例如:
<?xml version="1.0" encoding="utf-8"?>
<environment>
<parameter>
<key>cinder_api</key>
<value>v2</value>
</parameter>
<parameter>
<key>environment</key>
<value>192.168.54.121</value>
</parameter>
<parameter>
<key>glance_api</key>
<value>v2</value>
</parameter>
<parameter>
<key>host</key>
<value>192.168.54.121</value>
</parameter>
<parameter>
<key>keystone_api</key>
<value>v3</value>
</parameter>
<parameter>
<key>logininfo</key>
<value>{"auth": {"scope": {"project": {"domain":{"id": "default"},"name": "${project_token_name}$"}}, "identity":{"password": {"user": {"domain":{"id": "default"},"password":"admin","name":"admin"}},"methods":["password"]}}}</value>
</parameter>
<parameter>
<key>neutron_api</key>
<value>v2</value>
</parameter>
<parameter>
<key>nova_api</key>
<value>v2</value>
</parameter>
<parameter>
<key>openstack_version</key>
<value>liberty</value>
</parameter>
<parameter>
<key>tester</key>
<value>mrwuzs</value>
</parameter>
<parameter>
<key>versioncode</key>
<value>1.0</value>
</parameter>
<parameter>
<key>virtual</key>
<value>VMware</value>
</parameter>
</environment>
运行测试报告展示如下:

根据配置信息自动生成xml文件
配置文件:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/10/20 19:36
# @Author : mrwuzs
# @Site :
# @File : initialize_Env.py
# @Software: PyCharm
import os
from Common.Log import MyLog as logging
from Conf.ConfRelevance import ConfRelevance
BASE_PATH = str(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
CONF_PATH = BASE_PATH + "\\Conf\\cfg.ini"
ENV_PATH = BASE_PATH + "\\Report\\xml\\environment.xml"
class Init_Env:
"""初始化环境信息,更新xml文件"""
def __init__(self):
logging.info("获取环境配置信息")
#读取配置文件,返回字典格式
self.data = ConfRelevance(CONF_PATH,"env").get_relevance_conf()
def dict_to_xml(self):
parameter = []
for k in sorted(self.data.keys()):
xml = []
v = self.data.get(k)
if k == 'detail' and not v.startswith('<![CDATA['):
v = '<![CDATA[{}]]>'.format(v)
xml.append('<key>{value}</key>'.format(value=k))
xml.append('<value>{value}</value>'.format(value=v))
parameter.append('<parameter>{}</parameter>'.format(''.join(xml)))
return '<environment>{}</environment>'.format(''.join(parameter))
def init(self):
data = self.dict_to_xml()
with open(ENV_PATH,'w') as f:
f.write(data)
if __name__ == '__main__':
Init = Init_Env()
Init.init()
pytest+allure展示环境信息的更多相关文章
- Pytest+Allure定制报告
前言: 最近在研究接口自动化的框架,好的测试报告在整个测试框架起到至关重要的部分.终于被我发现一个超好用的报告框架,不仅报告美观,而且方便CI集成. 就是它,就是它:Allure Test Repor ...
- appium+pytest+allure+jenkins 如何实现多台手机连接
使用appium可以实现app自动化测试,我们之前是连接一台手机去运行,如何同时连接多台手机呢?很多人可能想到的是多线程(threading).今天分享一种比多线程更简单的方法,虽然不是多台手机同时运 ...
- pytest+allure测试框架搭建
https://blog.csdn.net/wust_lh/article/details/86685912 https://www.jianshu.com/p/9673b2aeb0d3 定制化展示数 ...
- pytest+allure(allure-pytest基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.allure-pytest 5.allure2.8.0 6.java1.8 allure-pytest快速安装 在 ...
- pytest+allure(pytest-allure-adaptor基于这个插件)设计定制化报告
一:环境准备 1.python3.6 2.windows环境 3.pycharm 4.pytest-allure-adaptor 5.allure2.8.0 6.java1.8 pytest-allu ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- Pytest测试框架(五):pytest + allure生成测试报告
Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...
- pytest使用笔记(三)——pytest+allure+jenkins配置使用
按照pytest使用笔记(二)把pytest+allure配置好后,现在在jenkins配置好,先实现手动构建(立个小目标) 一,安装jenkins插件 首页->系统管理->插件管理,从“ ...
随机推荐
- TCP-HTTP ___UDP 应用场景
UDP 套接字应用之广播 import socket,threading #创建套接字 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 设置套接 ...
- 智能指针原理及实现(1)shared_ptr
0.异常安全 C++没有内存回收机制,每次程序员new出来的对象需要手动delete,流程复杂时可能会漏掉delete,导致内存泄漏.于是C++引入智能指针,可用于动态资源管理,资源即对象的管理策略. ...
- Mysql系列-性能优化神器EXPLAIN使用介绍及分析
MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单, 在 SEL ...
- c中fgets与strlen
fgets函数从文件读取'\n'并存储,在'\n'后再增加一个'\0'构成字符串. 但fgets函数需要指定读入的字符数,如果指定了n,则最多只能读取n-1个.fgets在读取了n-1个字符.读到了' ...
- davinci 删除路线站点关系
删除路线站点关系 DELETE FROM tb_station_info_draw WHERE id in (SELECT stationId FROM tb_road_station_relatio ...
- Cacti-0.8.8b详细安装及配置步骤
1. Cacti环境安装 1.1 安装LAMP环境 安装LAMP环境,当然,如果你有兴趣可以采用编译,我线上Mysql是编译的,其余是yum安装的.在这次实验采用yum安装. 关闭i ...
- 多线程模块的condition对象
Python提供的Condition对象提供了对复杂线程同步问题的支持.Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方 ...
- List.ForEach批量新增并发异常解决
批量新增操作在业务系统中十分常见,尤其是主从表中对从表的批量处理.昨天在对wms主从表进行业务操作时使用了c#中list自带的函数ForEach对从表批量新增,代码如下: 在无并发的情况下接口请求正常 ...
- nginx反向代理和负载均衡的简单部署
1. 安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2) ...
- 老瞎眼 pk 小鲜肉 (线段树)
链接:https://ac.nowcoder.com/acm/contest/1114/E来源:牛客网 题目描述 老瞎眼有一个长度为 n 的数组 a,为了为难小鲜肉,他准备了 Q 次询问,每次给出 一 ...