allure环境搭建

在搭建之前你应该有python、pycharm

jdk也需要(文中忽略,可以参考网上文档安装,可以用jdk1.8)

以windows为例,mac、linux你用到这些操作系统,这种搭建就是小儿科了。

allure介绍

  • 官网:https://docs.qameta.io/allure/

  • 英文介绍

    • Allure Framework is a flexible lightweight multi-language test report tool that not only shows a very concise representation of what have been tested in a neat web report form, but allows everyone participating in the development process to extract maximum of useful information from everyday execution of tests

  • 翻译:

    • allure是一个框架

    • 灵活、轻量、多语言

    • 测试报告

allure-pytest库安装

  • pip安装

     pip  install -i https://mirrors.aliyun.com/pypi/simple allure-pytest 
  • 说明:

    • 你要用allure,你就要有pytest这个库

    • 安装allure-pytest的时候如果没有pytest是会自动安装的,因为他依赖pytest

       pip show allure-pytest
       ​
       Name: allure-pytest
       Version: 2.9.45
       Summary: Allure pytest integration
       Home-page: https://github.com/allure-framework/allure-python
       Author: QAMetaSoftware, Stanislav Seliverstov
       Author-email: sseliverstov@qameta.io
       License: Apache-2.0
       Location: c:\python39\lib\site-packages
       Requires: allure-python-commons, pytest, six
       Required-by:
    • 你可以理解为allure-pytest是pytest的一个插件

    • 但跟大多数插件不一样的命名allure-pytest,而普通的插件多是pytest-xxx的形式。

  • 注意事项

    • 如果你是新手,你有多个环境(可能是多个python、或有虚拟环境),那推荐在pycharm中安装

    • 如果你没有配置pip的源,可以手工加-i参数来指定

       pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  allure-pytest
       ​
       # 类似的源头很多,比如阿里云的
       https://mirrors.aliyun.com/pypi/simple
    • 如果你用pycharm安装,那就简单很多,当然也最好配置要安装仓库。

allure应用程序配置

第一步:下载allure应用程序

  • 你下面2个地址任选其一下载即可。

    • maven仓库地址

     https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
    • github地址

     https://github.com/allure-framework/allure2/releases
  • 选择自己的平台版本(windows你可以下载zip格式,linux就tgz),下载,然后解压到某个目录下(下图是2022年的一个截图,你看的到未必一样)

第二步:将allure所在的目录配置到PATH中去

  • 此处以allure-2.14.0为图例,所有版本都一样的配置方法

  

  • 新开一个cmd,输入命令以验证

     C:\Users\songqin008>allure --version
     2.14.0

第三步:重启pycharm,确保能读取到更新后的PATH

  • 首次配置需要

  • 其实也可以手工配置PATH

第四步:编写一个测试代码

  • DEMO

     ​
     import pytest,os
     ​
     def test_001():
         assert 1==1
     ​
     ​
     if __name__ == '__main__':
         pytest.main(['-sv',__file__,'--alluredir','./tmp','--clean-alluredir'])
         os.system(f'allure serve ./tmp')
  • 运行代码,注意你的pycharm的运行模式需要是unittest,我在另外一篇博文中提到了细节,https://www.cnblogs.com/wuxianfeng023/p/16616591.html

  • 控制台输出

     D:\Python39\python.exe D:/demos/demo_allure.py
     ============================= test session starts =============================
     platform win32 -- Python 3.9.6, pytest-7.1.2, pluggy-1.0.0 -- D:\Python39\python.exe
     cachedir: .pytest_cache
     metadata: {'Python': '3.9.6', 'Platform': 'Windows-10-10.0.19044-SP0', 'Packages': {'pytest': '7.1.2', 'py': '1.11.0', 'pluggy': '1.0.0'}, 'Plugins': {'allure-pytest': '2.9.45', 'anyio': '3.5.0', 'Faker': '13.3.4', 'assume': '2.4.3', 'base-url': '1.4.2', 'dependency': '0.5.1', 'forked': '1.4.0', 'html': '3.1.1', 'instafail': '0.4.2', 'metadata': '1.11.0', 'ordering': '0.6', 'repeat': '0.9.1', 'rerunfailures': '10.2', 'sugar': '0.9.4', 'timeout': '2.1.0', 'xdist': '2.5.0'}, 'JAVA_HOME': 'D:\\Java\\jdk1.8.0_301\\', 'Base URL': ''}
     rootdir: D:\pythonProject\AutoTest\AutoHuayan61\demos
     plugins: allure-pytest-2.9.45, anyio-3.5.0, Faker-13.3.4, assume-2.4.3, base-url-1.4.2, dependency-0.5.1, forked-1.4.0, html-3.1.1, instafail-0.4.2, metadata-1.11.0, ordering-0.6, repeat-0.9.1, rerunfailures-10.2, sugar-0.9.4, timeout-2.1.0, xdist-2.5.0
     collecting ... collected 1 item
     ​
     demo_allure.py::test_001 PASSED
     ​
     ============================== 1 passed in 0.10s ==============================
     Generating report to temp directory...
     Report successfully generated to C:\Users\SONGQI~1\AppData\Local\Temp\4761329703454998013\allure-report
     Starting web server...
     2022-08-09 11:42:32.445:INFO::main: Logging initialized @2843ms to org.eclipse.jetty.util.log.StdErrLog
     Server started at <http://192.168.10.147:12501/>. Press <Ctrl+C> to exit
  • 会自动打开一个浏览器,界面大致如下,基本就ok了。下面就是学习allure的细节了,此处不表。

allure环境搭建的更多相关文章

  1. Java自动化环境搭建笔记(3)

    Java自动化环境搭建笔记(3) 自动化测试 自动化的环境已经基本搭建完成,后续可对BaseTester基类以及工具类进行扩展.下面便是持续集成的环境的搭建: Jenkins安装 git安装 源码上传 ...

  2. Java自动化环境搭建笔记(2)

    Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...

  3. Java自动化环境搭建笔记(1)

    Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...

  4. Pytest单元测试框架:插件-allure-pytest环境搭建并在本地生成一个测试报告

    之前写了allure-pytest的官方文档啃的内容,有些交流的朋友,实践起来没什么头绪,所以就有了这篇文章,也给自己填个坑 第一步:搭建Allure.JDK环境 1. 搭建JDK环境 不装jdk你会 ...

  5. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  6. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  7. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  8. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  9. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  10. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

随机推荐

  1. 如何精简 Prometheus 的指标和存储占用

    前言 随着 Prometheus 监控的组件.数量.指标越来越多,Prometheus 对计算性能的要求会越来越高,存储占用也会越来越多. 在这种情况下,要优化 Prometheus 性能, 优化存储 ...

  2. centos ssh 连接缓慢

    在连接apache,ssh,mysql等服务器时,如果出现连接过慢,可能的原因是dns 的反向查询.反向解析是防止假冒的IP连接服务器,把IP解析成域名,来提高安全性,看这个IP是否是伪造,这是dns ...

  3. Kubernetes 1.25.4数据平面自带nginx负载均衡实现高可用

    1.环境准备 要点: 1.使用一个FQDN统一作为API Server的接入点: 2.加入集群之前,每个节点都将该FQDN解析至第一个Master: 3.加入集群之后,每个Master节点将该FQDN ...

  4. 重新认识下JVM级别的本地缓存框架Guava Cache(3)——探寻实现细节与核心机制

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 通过<重新认识下JVM级别的本地 ...

  5. c++ trivial, standard layout和POD类型解析

    目录 1. trivial类型 2. standard layout类型 3. 集大成者,POD(Plain Old Data)类型 4. 测试代码 1. trivial类型 占用一片连续的内存,编译 ...

  6. 【kafka】connect的timestamp模式无法同一秒插入多条记录问题解决

    一.现在问题 同时插入多条时间戳相同的记录 INSERT INTO "ABANK" VALUES ('1', 'CH', '00211', 'UBS Switzerland AG' ...

  7. 【Java SE进阶】Day09 字节流、字符流、I/O操作、属性集

    一.I/O概述 1.输入输出 输入:硬盘-->内存 输出:内存-->内存 2.流 字节流:一个字节等于8位 字符流:一个字符=2个字节 二.字节流 1.概述 以字节的方式读取/传输 可以读 ...

  8. 【消息队列面试】6-10:Rebalance机制、副本同步机制、架构设计、zk的作用、kafka的高性能

    六.简述kafka的Rebalance[偏向实战,有难度] 1.背景 kafka日志:在消息量大.高并发时,经常会出现rebalance中 rebalance会影响kafka性能,会阻塞partiti ...

  9. 【每日一题】2021年12月6日-剑指 Offer 22. 链表中倒数第k个节点

    输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6 ...

  10. day34-JSON&Ajax02

    JSON&Ajax02 1.Ajax基本介绍 1.1Ajax是什么 AJAX 即"Asynchronous JavaScript And XML"(异步JavaScript ...