python自动化测试篇: allure配置并生成测试报告(上篇)[进行中]


1.前言简介

文章初稿. 格式以及使用细节稍后补充, 感谢 zjr测试 的大力支持

1.1 专栏传送门

2. python使用

2.1 简介

2.1.1

1、下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html](http://www.oracle.com/technetwork/java/javase/downloads/index.html
配置jdk环境
2.打开高级系统设置→环境变量
3.新建,变量名为:JAVA_HOME;变量值:C:\Program Files\Java\jdk1.8.0_271 变量值实际是安装后的JDK路径。
4.找到Path,双击或者点击编辑进行编辑
5.新建一个:%JAVA_HOME%\bin点击确定进行保存。
6.测试是否配置成功,Windows命令输入javac出现如图所示表示jdk配置成功。
7.输入 "java -version" 可以查看JDK版本
1、安装allure报告插件
<1>下载allure插件:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.2/
下载好以后,解压,放到一个目录里,记住目录位置

<2>配置allure环境变量
allure文件的路径配置到环境变量-path里。步骤略
D:\allure-2.12.0\bin

2、之后再pip命令安装allure插件
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple allure-pytest

3、两行命令,生成allure测试报告
先cd到根目录
pytest aisce_test.py --alluredir=allure   # 生成allure  数据   "aisce_test.py"文件名随着项目名更改
allure generate ./allure/ -o ./reports --clean  #  生成allure报告到reports文件夹里    “allure” “reports”文件名可以更改 
"""

2.1.2 代码

import allure
import pytest
import requests
import random

data = {
    "code": "0",
    "password": "123456",
    "username": "pzy",
    "uuid": "code-key519afa3acffb451eaf09d427efe1a139"
}  # todo: 定义变量
project_url = "https://test.***.com"  # todo: 定义一个全局的url地址


@allure.feature("登录")
class TestCRMEB():
    @pytest.fixture(scope='function', autouse=True)  # todo: True 都执行,False都不执行
    def login(self):
        response = requests.post(url=project_url + "/login", json=data)  # todo:登录接口
        self.token_ = response.json()['token']  # todo:获取token /test/list

    @allure.feature("查询")
    def test_task_select(self):
        response_task_select = (requests.post(url=project_url + "/test/list",
                                              headers={"Authorization": "Bearer " + self.token_},
                                              json={"year": 2024, "month": "06", "deptId": "", "userId": "",
                                                    "status": 1, "port": 2}))
        assert response_task_select.status_code == 200
        assert response_task_select.json()['msg'] == 'success'
        # print(response_task_select.json())#todo:输出打印json
        self.id = response_task_select.json()['data'][0]['id']

    @allure.feature("新增")
    def test_task_add(self):
        response_task_add = (requests.post(url=project_url + "/test/insert",
                                           headers={"Authorization": "Bearer " + self.token_},
                                           json={"taskName": "测试任务" + str(random.randint(0, 100)),
                                                 "startTime": "2024-01-01 00:00:00", "endTime": "2025-12-31 23:59:59",
                                                 "period": 1, "startMonth": "2024-01", "endMonth": "2025-12",
                                                 "number": "1", "type": 1,
                                                 "staffs": [{"deptId": "", "type": 2, "userId": "684700931502497792",
                                                             "userName": "贾东晨业务员"}],
                                                 "standards": [{
                                                                   "img": "https://***/2024/unknown/1/845bbde7-eb03-4f04-b2f6-b7eb6d8724fd.jpg",
                                                                   "title": "测试", "remark": "测试"}]}
                                           ))
        assert response_task_add.status_code == 200
        assert response_task_add.json()['msg'] == 'success'

    @allure.feature("增加")
    def test_task_reward(self):
        self.test_task_select()
        response_task_reward = (
            requests.post(url=project_url + "/test/update",
                          headers={"Authorization": "Bearer " + self.token_},
                          json={"id": "" + self.id, "level1Price": "10", "level2Price": "10", "level3Price": "-10",
                                "level4Price": "-10"}))
        assert response_task_reward.status_code == 200
        assert response_task_reward

    @allure.feature("删除")
    def test_task_delete(self):
        self.test_task_select()
        # print(self.id)
        response_task_delete = (
            requests.get(url=project_url + "/test/delete?id=" + self.id,
                         headers={"Authorization": "Bearer " + self.token_}))
        assert response_task_delete.status_code == 200
        assert response_task_delete.json()['msg'] == 'success'

    @allure.feature("筛选")
    def test_task_sift(self):
        response_task_sift = (requests.post(url=project_url + "/test/list",
                                            headers={"Authorization": "Bearer " + self.token_},
                                            json={"year": 2024, "month": "06", "deptId": "",
                                                  "userId": "455763267652096000", "status": 1, "port": 2}))
        assert response_task_sift.status_code == 200
        assert response_task_sift.json()['msg'] == 'success'


if __name__ == '__main__':
    pytest.main()

在这里插入图片描述

2.2

2.2.1


2.2.2


2.3

2.3.1


2.3.2


2.4

2.4.1


2.4.2


3. 基础语法总结案例

3.1

3.1.1

3.1.2

3.2

3.2.1

3.2.2

4. 文章的总结与预告

4.1 本文总结

4.2 下文预告



作者pingzhuyan 感谢观看

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值