IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 自动化测试如何生成精美的allure报告 -> 正文阅读

[开发工具]自动化测试如何生成精美的allure报告

最近在学习使用pycharm+python编程语言生成精美的allure报告,也是花了不少时间,下面是我记录了一些比较实用的用法~让我们开始吧

第一步:在pycharm上面安装allure,有以下2种方法

这里要注意:一定要安装allure-pytest,其他的都不行哦,这里我直接跳进坑里过....

  1. 使用pip标准库在pycharm中的terminal使用命令安装:? pip3 install allure-pytest
  2. 使用界面的方式去一步一步的安装
  • windows-打开你的setting-然后在弹出来的界面中找到你创建的当前项目-python interpreter 中点击 + 号 去输入 :allure-pytest? 然后点击下面的点击install packages 就可以了
  • mac-preferences-在打开的界面找到你创建的项目-python interpreter中 点击 + 号 去输入:allure-pytest 然后点击下面的 install packages 就可以了

第二步:安装好了后,就可以在terminal终端中使用命令去生存报告了

  1. 首先使用cd命令进入到你要执行的测试文件所在的目录
  2. 然后使用:pytest -vs allure_demo.py --alluredir=./result5 去执行测试文件并生成测试报告,执行完成你就会发现你左边当前目录下多了一个 result5的文件夹,打开就可以看到已经执行的测试文件,这里展示出来的格式是以json格式展示出来的

图1

????????3.然后在使用命令:allure serve ./result5 将刚刚生成的result5的 json文件解析生成一个服务,浏览器这个时候就会生成一个服务,打开就可以看到生成的测试报告了

图2,输入如下命令,就会在pycharm的左边当前文件夹自动生成一个result5

?图3

图3,本地生成了一个服务,如下

图4,生成的allure结果展示

?第三步,上面两步,已经告知大家如何生成一个简单的allure报告

下面我们如何去给你的测试文件乃至测试用例添加一个测试步骤,如何去添加一个测试的链接,比如,在测试用例失败的时候,需要添加一个测试链接,以及如何去添加一个测试的图片,视频,代码如下:

import allure
@allure.feature("登录功能")
class TestLogin():

    @allure.title("测试请输入用户名")
    @allure.story("测试请输入用户名")
    def test_case1(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是登录:测试用例,请输入用户名")
        with allure.step("打开网页"):
            print("测试步骤,打开网页")
        with allure.step("访问官网"):
            print("测试步骤,访问官网")

    @allure.title("测试密码错误")
    @allure.story("测试密码错误")
    def test_case2(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是登录:测试用例,密码错误")
        with allure.step("做断言"):
            assert True

    @allure.title("测试登录异常")
    @allure.story("测试登录异常")
    def test_case3(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是登录:测试用例,登录异常")
        with allure.step("做断言"):
            assert True

    @allure.title("测试断网的情况")
    @allure.story("测试断网的情况")
    def test_case4(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/1640934248541882.mp4",
                           name="手动测试的视频",attachment_type=allure.attachment_type.MP4)
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是登录:测试用例,断网去登录")
        with allure.step("做断言"):
            assert True


@allure.feature("搜索功能")
class TestSearch():

    @allure.title("测试搜索失败")
    @allure.story("测试搜索失败")
    def test_case1(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是搜索:搜索的测试用例,搜索失败")
        with allure.step("做断言"):
            assert True

    @allure.title("测试断网的情况")
    @allure.story("测试断网的情况")
    def test_case2(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打印"):
            print("这是搜索:搜索的测试用例,断网去搜索")
        with allure.step("做断言"):
            assert True

    TEST_CASE_LINK = "https://admin.xjkt.cn/hly/?aid=jjgb2kf54y69cbjyvq&app_id=18#/"
    @allure.testcase(TEST_CASE_LINK,"测试功能点所对应的链接")
    @allure.title("测试搜索")
    @allure.story("测试搜索")
    def test_case3(self):
        allure.attach.file("/Users/chenzilong/PycharmProjects/dangerous_chen/practice_allure/resource/IMG_2784.JPG",
                           name="需要查看的图片",attachment_type=allure.attachment_type.JPG)
        with allure.step("打开浏览器"):
            print("测试步骤,第一步:先打开浏览器")
        with allure.step("访问会了鸭"):
            print("测试步骤,第二步:输入url,访问会了鸭")
        with allure.step("输入搜索的内容"):
            print("测试步骤,第三步:在搜索框内输入关键词")
        with allure.step("点击搜索按钮"):
            print("测试步骤,第四步:点击搜索按钮")

代码的解析:

@allure.title 指的是在你生成allure报告的时候用中文去展示你的测试用例名称,你的领导看了才知道这个测试用例是测试的那一块的功能

@allure.file 值得是去添加一个图片或者视频

@allure.feature、story、step

  • feature 是在类上面添加的,一般指的是测试整个功能,例如:登录模块
  • story 是放在测试方法上面的,一般指的是每个测试用例测试的那个小的功能,例如:测试用户名的输入
  • step 是指你测试用例里面的每个步骤,例如:你要测试搜索,第一步:先打开浏览器,第二步:输入搜索词,第三步:点击搜索

@allure.testcase 指的是添加链接

第四步:如果你想要给你的其他同事或者公司领导看的话,你可以自己开启一个服务,然后把生成服务地址发给你的领导或者同事,但是这里需要注意:你和你周围的同事和领导必须要处在同一局域网内,就是连接同一个无线网路,否则打不开,看不了报告

  • 你可以先将你的测试文件使用pytest去先生成一个测试报告到本地,然后如下命令,去转换成本地的一个report报告文件,在pycharm的terminal中去输入
  • 其中 参数 -o 是指定生成的report报告文件
allure generate ./result5 -o report1
  • ?然后在去使用open命令去开启服务
  • -h? :后面跟你本地的ip地址
  • -p : 后面跟你指定的端口,这里我指定的是8883 和你平时学习和工作不要冲突就行
  • report1 : 后面跟你上面使用generare 命令指定生成的report,我这里指定的是report1
allure open -h 127.0.0.1 -p 8883 ./report1

如下:把链接发给你的同事和领导就可以了,嘿嘿

ps-->补充知识:

  • 如果你想要查看pytest的使用方法,你可以在你的电脑终端里面使用命令查看,windows就是cmd,输入下面命令
pytest --help

  • 如果你是mac就是用grep,如果你是windows就改成findstr去只看allure的使用帮助文档就可以了

pytest --help|grep allure

有问题欢迎在下方留言,互相学习,共同进步,fighting!

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:09:16  更:2022-01-01 14:09:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:35:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码