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插件 首页->系统管理->插件管理,从“ ...
随机推荐
- 这些JVM命令配置参数你知道吗?
JVM是多数开发人员视为理所当然的Java功能和性能背后的重负荷机器.然而,我们很少有人能理解JVM是如何进行工作的—像任务分配和垃圾收集.转动线程.打开和关闭文件.中断和/或JIT编译Java字节码 ...
- Js操作DOM元素及获取浏览器高宽
在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM ...
- jemeter生成测试报告
Jmeter生成测试报告 相对于Loadrunner,Jmeter其实也是可以有测试报告产出的,虽然一般都不用(没有Loadrunner的报告那么强大是一方面),还是顺手写一下吧,其实方法在用命令 ...
- 洛谷P2341 [HAOI2006]受欢迎的牛 (Tarjan,SCC缩点)
P2341 [HAOI2006]受欢迎的牛|[模板]强连通分量 https://www.luogu.org/problem/P2341 题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就 ...
- UESTC 2016 Summer Training #1 J - Objects Panel (A) 按条件遍历树
#include <iostream> #include <cstdio> #include <vector> using namespace std; typed ...
- CF1037H Security——SAM+线段树合并
又是一道\(SAM\)维护\(endpos\)集合的题,我直接把CF700E的板子粘过来了QwQ 思路 如果我们有\([l,r]\)对应的\(SAM\),只需要在上面贪心就可以了.因为要求的是字典序比 ...
- 推荐几款好用的Chrome插件
'工欲善其事,必先利其器'.优秀的开发者不仅体现在其在技术方面的精通,还体现在其对各种开发工具的充分了解与使用,这会让其开发效率事半功倍.作为一个前端开发者,平时主要是跟浏览器打交道,Chrome浏览 ...
- vue 多层组件相互嵌套的时候 数据源更新 dom没更新 彻底清除组件缓存
当项目中存在多层组件相互嵌套 组件存在严重缓存时 this.$nextTick(() => { ..... }); 不管用 this.$forceUpdate(); 不管用 只能通过深拷贝浅拷 ...
- 脚本实现PXE装机
#!/bin/bash read -p "请输入您的装机服务器:" ip read -p "请输入您想要的ip最小值(1-255):" min read -p ...
- triggerHandler(type, [data])
triggerHandler(type, [data]) 概述 这个特别的方法将会触发指定的事件类型上所有绑定的处理函数.但不会执行浏览器默认动作,也不会产生事件冒泡. 大理石平台价格 这个方法的行为 ...