- Pytest 官网
https://docs.pytest.org/en/latest/contents.html - 命令行执行Pytest
在项目目录下
pytest 包名/
- 测试用例分类
#使用装饰器:
@pytest.mark.testName
def test_div():
pass
#指定跑的级别
pytest -m 'testName' demo01/
- Allure Pytest安装
Allure 官网: https://docs.qameta.io/allure/#_about
- Allure Commandline安装
Linux
下载allure commandline: allure-commandline-2.13.2.tgz
#解压到任意路径
tar -xzvf allure-commandline-2.13.2.tgz -C ~/Desktop/
#移动到想放置的位置
sudo mv allure-2.13.2/ /opt/allure-2.13.2
#设置环境变量
sudo vi ~/.bashrc
#-----------Allure Commandline Env----
export ALLURE_HOME=/opt/allure-2.13.2/bin
export PATH=$PATH:$ALLURE_HOME
#---------End--------
#生效环境变量
source ~/.bashrc
Windows:
Allure Command Line
配置环境变量: PATH(\安装路径\allure-commandline\bin)
- Allure 测试报告
pytest -s ./src/testsuite/ -o junit_family=xunit2 --junitxml=results/report/test_result.xml --alluredir=results/report/allure_result --clean-alluredir --reruns 3
# -s 控制台显示log 信息
- Allure commandline 查看报告
allure serve 报告路径/allue_result/
- Allure 生成一个报告便于转发
allure generate results/report/allure_result -o ./results/report/allure_html --clean
- Allure 报告浏览
# 命令行进入到allure_html 文件夹下
cd ./results/report/allure_html
# 以下命令可能会存在跨域问题而启动失败.
# 报错: python.exe: No module named SimpleHTTPServer
# python -m SimpleHTTPServer 8001
# 使用Python 在本地开启一个8000(默认)端口的服务器端
python -m http.server 8001
#然后访问页面
http://localhost:8001
- Allure 报告中趋势图(trend) 没有数据
解决办法: 将上一次跑的allure_html中的widgets 中的history-trend 数据拷贝放入新的history-trend.json数据中
- Allure 报告中的Env 数据
Environment 数据从 environment.properties文件得来.
解决办法: 将environment.properties 文件放入allure-report(这里用的 allue_result) 路径中