python allure的介绍和使用(持续更新中)

python allure的介绍和使用(持续更新中)1、allure的介绍2、allure的报告概览3、allure的安装4、使用allure2生成更加精美的测试报告pipinstallallure-pytest(安装这个辅助allure生成测试报告)pytest–alluredir=指定路径(指定allure报告数据生成路径)allureserve报告路径(生成HTML报告,这个会直接在线打开报告)allur…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言:是不是很意外,我又和大家见面了,这个章节咱们学习python allure的使用
1、allure 的介绍
在这里插入图片描述
2、allure 的报告概览
在这里插入图片描述
在这里插入图片描述
3、allure的安装
在这里插入图片描述
4、使用allure2生成更加精美的测试报告
pip install allure-pytest(安装这个辅助allure生成测试报告)
pytest –alluredir=指定路径(指定allure报告数据生成路径)
allure serve 报告路径(生成HTML报告,这个会直接在线打开报告)
allure generate ./result/5 -o ./report/5/ –clean(指定生成报告的路径)
allure open -h 127.0.0.1 -p 8888 ./report/5(启动本地服务生成链接查看报告)
在这里插入图片描述
在这里插入图片描述
5、allure常用的特性
在这里插入图片描述
6、@alllure.feature与@allure.store的关系
在这里插入图片描述
7、@allure.step()与with allure.step():的区别
在这里插入图片描述
8、allure 用issue与testcase关联
在这里插入图片描述
9、给测试用例划分优先级
在这里插入图片描述
10、给allure 测试报告添加内容(图片、附件、文本、截图、HTML等)
在这里插入图片描述
11、实战演练
实例1:

import pytest
import allure
@allure.feature("这是登录模块测试用例")
class Test_login():
    @allure.story("用户名正确,登录成功")
    @allure.severity(allure.severity_level.BLOCKER)     #阻塞
    def test_logina(self):
        allure.attach("这是一个纯文本",name="文本信息",attachment_type=allure.attachment_type.TEXT)    #添加文本
        print("这是登录,用户名正确,登录成功")
        pass

    @allure.story("密码正确,登录成功")
    @allure.severity(allure.severity_level.CRITICAL)    #严重
    def test_loginb(self):
        allure.attach("<body>这是一个网页</body>",name="HTML测试模块",attachment_type=allure.attachment_type.HTML)    #添加网页

        print("这是登录,密码正确,登录成功")
        pass

    @allure.story("用户名错误,登录失败")
    # --allure-link-pattern=issue:https://blog.csdn.net/weixin_44275820/article/details/105169871/issue/{}
    @allure.issue("10086","这是一个bug,需要修复")
    @allure.severity(allure.severity_level.NORMAL)    #正常问题
    def test_loginc(self):
        allure.attach.file("./picture/微信头像.jpg",name="这是一个图片",attachment_type=allure.attachment_type.JPG)    #添加图片
        print("这是登录,用户名错误,登录失败")
        pass

    @allure.story("密码错误,登录失败")
    @allure.link("https://blog.csdn.net/weixin_44275820/article/details/105169871",name="我的博客")
    @allure.severity(allure.severity_level.MINOR)    #不太重要
    def test_logind(self):
        with allure.step("点击用户名输入框"):
            print("输入用户名")
        with allure.step("点击输入密码输入框"):
            print("输入密码")
        print("点击登录按钮")
        with allure.step("点击登录后登录失败"):
            assert "1" == 1
            print("这是登录,密码错误,登录失败")
        pass

    Testcase_link = "https://blog.csdn.net/weixin_44275820/article/details/105169871"
    @allure.story("用户不存在,登录失败")
    @allure.testcase(Testcase_link,"我的博客管理平台")
    @allure.severity(allure.severity_level.TRIVIAL)    #不重要
    def test_logine(self):
        print("这是登录,用户不存在,请重新注册")
        pass

    @allure.story("密码已锁定,登录失败")
    def test_loginf(self):
        print("这是登录,密码已锁定,请重置密码")
        pass

    @allure.story("密码为空,登录失败")
    def test_loging(self):
        print("这是登录,密码为空,请输入密码")
        pass

if __name__ =='__main__':
    pytest.main("-v -s")

实例2:

import pytest
import allure
import time
from selenium import webdriver

Testcase_link1 = "https://www.baidu.com"
@allure.testcase(Testcase_link1,"百度,你值得拥有")
@allure.feature("百度搜索")
@pytest.mark.parametrize("search_data",["奔驰","宝马","保时捷"])
def test_search(search_data):

    with allure.step("打开百度网页"):
        driver = webdriver.chrome("C:\\Users\liwenliang\AppData\Local\Google\Chrome\Application\chrome.exe")
        driver.get("https://www.baidu.com")

    with allure.step(f"输入搜索词",{Testcase_link1}):
        driver.find_element_by_id("KW").send_keys(search_data)
        time.sleep(3)
        driver.find_element_by_id("SU").click()
        time.sleep(3)

    with allure.step("保存图片"):
        driver.save_screenshot("./result/b.png")
        allure.attach.file("./result/b.png",name="这是保存的图片",attachment_type=allure.attachment_type.PNG)

    with allure.step("关闭浏览器"):
        driver.quit()

if __name__ =='__main__':
    pytest.main("-v -s")

12、数据驱动
数据驱动分为源数据驱动和步骤数据驱动
在这里插入图片描述
13、数据驱动的逻辑
在这里插入图片描述
在这里插入图片描述
我们这里直接用yaml做数据驱动,yaml的基础资料请看一下网址:
https://www.ruanyifeng.com/blog/2016/07/yaml.html
https://yaml.org/spec/1.1/#id857168 1
https://pyyaml.org/wiki/PyYAMLDocumentation

def data():
    with open("test_data.yaml") as f:
        yaml.load(f)

14、allure2的解析过程
安装allure2
生成allure测试结果 pytest –alluredir=allure .
展示报告 allure serve allure/
生成最终版本的报告 allure generate allure/
使用allure2提供的api,增强报告
截图、录像、日志、链接、步骤

更新。。。。。。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164419.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UML图之例图

    用例图主要说明的是谁要使用系统,以及他们使用该系统可以做些什么,帮助开发团队以一种可视化的方式理解系统的功能需求。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,

    2021年12月29日
    37
  • pycharm 批量替换_字符批量替换

    pycharm 批量替换_字符批量替换在编写一个应用时,出现了调用之前的类的问题,在后续更新内容,已经不在使用,需要进行批量替换。这里记录下如何使用Pycharm进行批量替换操作。1.打开pycharm中需要修改的代码内容2.使用快捷键方式ctrl+r会跳转到如下页面3.使用菜单中的查找菜单4.上面输入要查找的内容,下面输入要替换的内容5.自行确认是否单个替换还是全部替换…

    2022年8月29日
    1
  • pytest指定用例_文件夹排列顺序自定义

    pytest指定用例_文件夹排列顺序自定义前言测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果.有些同学在写用例的时候,用例写了先后顺序,有先后顺序后,后面还会有新的问题(如:上个用例返回

    2022年7月29日
    3
  • 微信公众号基础功能搭建怎么弄_怎么做一个订阅号

    微信公众号基础功能搭建怎么弄_怎么做一个订阅号自动回复在微信公众号后台首页左侧导航栏中找到功能。然后点击自动回复。自动回复包含被关注回复、收到消息回复和关键词回复三项内容自定义菜单

    2022年10月28日
    0
  • php替换中文字符串,php如何替换字符串里的字符「建议收藏」

    php替换中文字符串,php如何替换字符串里的字符「建议收藏」php替换字符串里字符的方法:1、通过substr_replace函数把字符串的一部分替换为另一个字符串;2、使用str_replace函数将一个字符串替换字符串中的另一些字符。PHP字符串替换用于从字符串中替换指定字符串。相关函数如下:substr_replace():把字符串的一部分替换为另一个字符串str_replace():使用一个字符串替换字符串中的另一些字符substr_replac…

    2022年5月10日
    34
  • 互联网公司面试必问的Redis题目

    互联网公司面试必问的Redis题目

    2021年10月28日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号