allure的安装和使用(windows环境)以及遇到问题,随笔记录,避雷使用
在安装allure之前,先确认电脑已经安装了jdk1.8+
如果没有配置&安装jdk
正式开始下载、安装、使用Allure
Windows OS
1. 下载allure
allure的官网下载地址:
https://github.com/allure-framework/allure2/releases注意:官网时常访问失败,可以访问以下网址:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
选择一个版本(windows下载.zip包就可以)Note: 由于
allure-pytest
插件版本2.13.2 与Allure版本2.13.0兼容,所以此处下载安装了Allure版本2.13.0
2. 选择一个windows版下载即可
3. 下载完成后,解压到指定路径
切换到解压路径 --> bin目录 --> 双击 allure.bat 运行即可
为allure 配置系统变量
4. 验证配置是否成功
Ctr+R ->重新打开一个cmd 窗口 --> allure
5. pycharm中可能出现的问题
若配置好环境变量后,allure在cmd中是可以显示的,但是pycharm却没有发现命令。
cmd中:
# cmd 中 C:\Users\magx>allure --version 2.23.1 C:\Users\magx>
Pycharm中 输入 allure --version,报错没有发现 allure命令
解决办法: 以管理员方式启动一次pycharm就可以使用allure命令了。
6. 验证
1.
# main.py
# 当前绝对路径
current_path = os.path.dirname(os.path.abspath(__file__))
# json 报告路径
json_report_path = os.path.join(current_path,'reports','json')
# html报告路径
html_report_path = os.path.join(current_path,'reports','html')
# allure generate 使用generate命令导出html报告,json_report_path json格式报告路径, -o生成报告到文件夹, --clean清空原来的报告
pytest.main(['-vs', './V2/TestCase', f'--alluredir={json_report_path}','--clean-alluredir'])
2. pycharm terminal
# pytest -vs ./V2/TestCase --alluredir=./reports/json --clean-alluredir
Centos7
1. 下载allure
allure的官网下载地址:
https://github.com/allure-framework/allure2/releases注意:官网时常访问失败,可以访问以下网址:
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
选择一个版本(CentoS7 下载 *.tgz 包就可以)Note: 由于
allure-pytest
插件版本2.13.2 与Allure版本2.13.0兼容,所以此处下载安装了Allure版本2.13.0
2. 将allure解压到/usr/local/ 目录下
下载allure压缩包,上传至服务器目录,如/usr/local/,并进行解压
# tar xzvf allure-commandline-2.13.0.tgz -C <解压到指定目录>
[root@bogon Tools]# tar -xvzf allure-commandline-2.13.0.tgz -C /usr/local/
allure-2.13.0/
allure-2.13.0/config/
allure-2.13.0/config/allure.yml
allure-2.13.0/config/allure-cucumber.yml
allure-2.13.0/config/allure-junit.yml
allure-2.13.0/plugins/
allure-2.13.0/plugins/README.txt
allure-2.13.0/lib/
allure-2.13.0/lib/config/
allure-2.13.0/lib/config/log4j.properties
allure-2.13.0/lib/config/jetty-logging.properties
allure-2.13.0/lib/allure-commandline-2.13.0.jar
allure-2.13.0/lib/jcommander-1.72.jar
allure-2.13.0/lib/allure-generator-2.13.0.jar
allure-2.13.0/lib/allure-plugin-api-2.13.0.jar
allure-2.13.0/lib/jackson-dataformat-xml-2.9.8.jar
allure-2.13.0/lib/allure-model-2.9.0.jar
allure-2.13.0/lib/jackson-module-jaxb-annotations-2.9.8.jar
allure-2.13.0/lib/jackson-databind-2.9.8.jar
allure-2.13.0/lib/jackson-dataformat-yaml-2.9.8.jar
allure-2.13.0/lib/commons-io-2.6.jar
allure-2.13.0/lib/jetty-server-9.4.14.v20181114.jar
allure-2.13.0/lib/slf4j-log4j12-1.7.25.jar
allure-2.13.0/lib/jackson-annotations-2.9.0.jar
allure-2.13.0/lib/jackson-core-2.9.8.jar
allure-2.13.0/lib/snakeyaml-1.23.jar
allure-2.13.0/lib/javax.servlet-api-3.1.0.jar
allure-2.13.0/lib/jetty-http-9.4.14.v20181114.jar
allure-2.13.0/lib/jetty-io-9.4.14.v20181114.jar
allure-2.13.0/lib/allure1-model-1.0.jar
allure-2.13.0/lib/slf4j-api-1.7.25.jar
allure-2.13.0/lib/log4j-1.2.17.jar
allure-2.13.0/lib/httpclient-4.5.7.jar
allure-2.13.0/lib/tika-core-1.20.jar
allure-2.13.0/lib/freemarker-2.3.28.jar
allure-2.13.0/lib/jetty-util-9.4.14.v20181114.jar
allure-2.13.0/lib/opencsv-4.5.jar
allure-2.13.0/lib/flexmark-0.40.16.jar
allure-2.13.0/lib/jaxb-api-2.3.1.jar
allure-2.13.0/lib/woodstox-core-5.0.3.jar
allure-2.13.0/lib/stax2-api-3.1.4.jar
allure-2.13.0/lib/properties-2.0.RC5.jar
allure-2.13.0/lib/jaxb-utils-1.0.jar
allure-2.13.0/lib/httpcore-4.4.11.jar
allure-2.13.0/lib/commons-beanutils-1.9.3.jar
allure-2.13.0/lib/commons-logging-1.2.jar
allure-2.13.0/lib/commons-codec-1.11.jar
allure-2.13.0/lib/commons-text-1.3.jar
allure-2.13.0/lib/commons-lang3-3.8.1.jar
allure-2.13.0/lib/commons-collections4-4.2.jar
allure-2.13.0/lib/flexmark-util-0.40.16.jar
allure-2.13.0/lib/javax.activation-api-1.2.0.jar
allure-2.13.0/lib/commons-collections-3.2.2.jar
allure-2.13.0/bin/
allure-2.13.0/bin/allure
allure-2.13.0/bin/allure.bat
allure-2.13.0/plugins/xunit-xml-plugin/
allure-2.13.0/plugins/xunit-xml-plugin/allure-plugin.yml
allure-2.13.0/plugins/xunit-xml-plugin/xunit-xml-plugin-2.13.0.jar
allure-2.13.0/plugins/behaviors-plugin/
allure-2.13.0/plugins/behaviors-plugin/allure-plugin.yml
allure-2.13.0/plugins/behaviors-plugin/static/
allure-2.13.0/plugins/behaviors-plugin/static/index.js
allure-2.13.0/plugins/behaviors-plugin/behaviors-plugin-2.13.0.jar
allure-2.13.0/plugins/screen-diff-plugin/
allure-2.13.0/plugins/screen-diff-plugin/allure-plugin.yml
allure-2.13.0/plugins/screen-diff-plugin/screen-diff-plugin-2.13.0.jar
allure-2.13.0/plugins/screen-diff-plugin/static/
allure-2.13.0/plugins/screen-diff-plugin/static/index.js
allure-2.13.0/plugins/screen-diff-plugin/static/styles.css
allure-2.13.0/plugins/custom-logo-plugin/
allure-2.13.0/plugins/custom-logo-plugin/custom-logo-plugin-2.13.0.jar
allure-2.13.0/plugins/custom-logo-plugin/allure-plugin.yml
allure-2.13.0/plugins/custom-logo-plugin/static/
allure-2.13.0/plugins/custom-logo-plugin/static/custom-logo.svg
allure-2.13.0/plugins/custom-logo-plugin/static/styles.css
allure-2.13.0/plugins/xray-plugin/
allure-2.13.0/plugins/xray-plugin/allure-plugin.yml
allure-2.13.0/plugins/xray-plugin/xray-plugin-2.13.0.jar
allure-2.13.0/plugins/xray-plugin/lib/
allure-2.13.0/plugins/xray-plugin/lib/jackson-annotations-2.9.0.jar
allure-2.13.0/plugins/xray-plugin/lib/jackson-core-2.9.8.jar
allure-2.13.0/plugins/xray-plugin/lib/allure-jira-commons-2.13.0.jar
allure-2.13.0/plugins/xray-plugin/lib/okhttp-3.12.0.jar
allure-2.13.0/plugins/xray-plugin/lib/retrofit-2.5.0.jar
allure-2.13.0/plugins/xray-plugin/lib/converter-jackson-2.5.0.jar
allure-2.13.0/plugins/xray-plugin/lib/jackson-databind-2.9.8.jar
allure-2.13.0/plugins/xray-plugin/lib/okio-1.15.0.jar
allure-2.13.0/plugins/jira-plugin/
allure-2.13.0/plugins/jira-plugin/jira-plugin-2.13.0.jar
allure-2.13.0/plugins/jira-plugin/allure-plugin.yml
allure-2.13.0/plugins/jira-plugin/lib/
allure-2.13.0/plugins/jira-plugin/lib/jackson-annotations-2.9.0.jar
allure-2.13.0/plugins/jira-plugin/lib/jackson-core-2.9.8.jar
allure-2.13.0/plugins/jira-plugin/lib/allure-jira-commons-2.13.0.jar
allure-2.13.0/plugins/jira-plugin/lib/okhttp-3.12.0.jar
allure-2.13.0/plugins/jira-plugin/lib/retrofit-2.5.0.jar
allure-2.13.0/plugins/jira-plugin/lib/converter-jackson-2.5.0.jar
allure-2.13.0/plugins/jira-plugin/lib/jackson-databind-2.9.8.jar
allure-2.13.0/plugins/jira-plugin/lib/okio-1.15.0.jar
allure-2.13.0/plugins/junit-xml-plugin/
allure-2.13.0/plugins/junit-xml-plugin/allure-plugin.yml
allure-2.13.0/plugins/junit-xml-plugin/junit-xml-plugin-2.13.0.jar
allure-2.13.0/plugins/xctest-plugin/
allure-2.13.0/plugins/xctest-plugin/allure-plugin.yml
allure-2.13.0/plugins/xctest-plugin/lib/
allure-2.13.0/plugins/xctest-plugin/lib/xmlwise-1.2.11.jar
allure-2.13.0/plugins/xctest-plugin/xctest-plugin-2.13.0.jar
allure-2.13.0/plugins/packages-plugin/
allure-2.13.0/plugins/packages-plugin/packages-plugin-2.13.0.jar
allure-2.13.0/plugins/packages-plugin/allure-plugin.yml
allure-2.13.0/plugins/packages-plugin/static/
allure-2.13.0/plugins/packages-plugin/static/index.js
allure-2.13.0/plugins/trx-plugin/
allure-2.13.0/plugins/trx-plugin/allure-plugin.yml
allure-2.13.0/plugins/trx-plugin/trx-plugin-2.13.0.jar
[root@bogon Tools]#
[root@bogon local]# pwd
/usr/local
[root@bogon local]#
[root@bogon local]# ll
total 4
drwxr-xr-x. 6 root root 77 Sep 9 2019 allure-2.13.0 # 已解压到指定目录
drwxr-xr-x. 2 root root 4096 May 9 19:41 bin
drwxr-xr-x. 2 root root 6 Jun 22 2021 etc
drwxr-xr-x. 2 root root 6 Jun 22 2021 games
drwxr-xr-x. 4 root root 61 May 9 01:43 include
drwxr-xr-x. 3 root root 23 Apr 22 18:07 lib
drwxr-xr-x. 4 root root 34 Apr 22 18:07 lib64
drwxr-xr-x. 2 root root 6 Jun 22 2021 libexec
drwxr-xr-x. 2 root root 6 Jun 22 2021 sbin
drwxr-xr-x. 5 root root 65 Dec 13 23:15 share
drwxr-xr-x. 2 root root 6 Jun 22 2021 src
[root@bogon local]#
3. 配置环境变量
1. 编辑 /etc/profile 文件,在文件默认增加如下内容
export PATH=$PATH:/usr/local/allure-2.16.1/bin
2. 使配置生效,执行
# source /etc/profile
[root@bogon allure-2.13.0]#
[root@bogon allure-2.13.0]# source /etc/profile
[root@bogon allure-2.13.0]#
4. 验证allure是否成功
[root@bogon allure-2.13.0]#
[root@bogon allure-2.13.0]# allure --version
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
[root@bogon allure-2.13.0]#
4.1 确认是否安装了Java
通过运行
java -version
命令来验证Java是否已经安装。如果Java没有安装,请先安装Java
4.1.1 更新系统
1. 更新系统:运行以下命令,确保您的系统是最新的
# sudo yum update
4.1.2 安装Java环境
2. 安装Java环境:CentOS 7默认使用OpenJDK
# sudo yum install java-1.8.0-openjdk
7. Allure 介绍以及使用
命令
7.1 pytest执行测试用例并将执行后的每个测试用例的结果存放于指定的文件夹中,生成一个个的json或者xml文件(allure测试报告原始数据)。
【其中,生成的报告都以json格式存储,日志以txt后缀名文件存储,附件是以attach后缀名文件存储】
Pycharm -> Terminal->
# pytest -vs ./V2/TestCase --alluredir=./reports/json --clean-alluredir
执行完成上述命令后,会在当前目录下,report/json 目录下生成 *.json、*.txt、日志、*.attach 后缀的文件;
7.2 allure将测试报告的原始数据生成测试报告。【注意:这里只是将tmp目录中的测试报告原始数据在指定的文件夹生成allure测试报告,并未在本机开启一个allure服务】
Pycharm -> Terminal->
allure generate .\reports\json\ -o .\reports\html\ --clean
# 最好使用该命令生成测试报告(与Jenkins上allure插件生成测试报告一致)
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto> allure generate .\reports\json\ -o .\reports\html\ --clean
Report successfully generated to .\reports\html
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto
reports/json/:每个用例的执行结果生成的每个json文件存放的位置 (allure最终会将这些json文件渲染成网页结果)
-o reports/html/:allure报告生成的位置【指定目录生成测试报告】
-c reports/html/:新的allure报告生成之前先把先前的allure报告清理掉
生成的HTML 报告目录结构如下:
7.3 打开生成的报告,查看。【allure命令2、3结合起来运行】
Pycharm -->Terminal -> allure serve .\reports\json\
- 参数:-h, (--host):指定域名地址;
- 参数:-p, (--port):指定端口号;
Allure 7.2: 生成 html 报告
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto> allure generate .\reports\json\ -o .\reports\html\ --clean
Report successfully generated to .\reports\html
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto>
Allure 7.3: 查看 html 报告
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto> allure serve .\reports\json\
Generating report to temp directory...
Report successfully generated to C:\Users\magx\AppData\Local\Temp\9488674769568414469\allure-report
Starting web server...
2023-08-04 09:53:35.527:INFO::main: Logging initialized @2604ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://192.168.5.51:63148/>. Press <Ctrl+C> to exit
【注意】:【或者:忽略7.2、7.3步骤,直接在7.1结束之后,再运行7.4步骤】
Note: 查看报告方法 2种
第一种:7.1 ->7.2 ->7.3
第二种:7.1 ->7.4
7.4、打开生成的报告,可对外提供在线展示。【在本机开启一个allure服务,其他主机可通过IP地址和端口号远程查看allure报告】
Pycharm -> Terminal --> allure serve report/json
- 参数:-h, (--host):指定域名地址;
- 参数:-p, (--port):指定端口号;
# Pychamr -> Terminal
PS D:\Backup\自动化脚本\RiskcopV2Auto_247\RiskcopV2Auto> allure serve .\reports\json\
Generating report to temp directory...
Report successfully generated to C:\Users\magx\AppData\Local\Temp\9488674769568414469\allure-report
Starting web server...
2023-08-04 09:53:35.527:INFO::main: Logging initialized @2604ms to org.eclipse.jetty.util.log.StdErrLog
Server started at <http://192.168.5.51:63148/>. Press <Ctrl+C> to exit
点击 连接 http://192.168.5.51:63148/ 访问Allure 报告
有时候下载完allure,配置完环境变量后,执行pytest 报错
pytest 执行后 allure 报 "AttrubuteError module 'allure’ has no attribute 'serverity_levle'"
问题原因:卸载:pip uninstall pytest-allure-adaptor,这个包和allure-pytest冲突了
解决方法:
pip install pytest-allure-adaptor
pip uninstall pytest-allure-adaptor
卸载后,请重新Pycharm 后,问题解决