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

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 一句话评论设计模式六大原则

    原则,故名思议则是本质的意思。所谓擒贼先擒王,研究设计模式自然要先了解设计原则,所有的模式都是在这些原则的基础之上发展起来的,有的是侧重一个,有的是多个都有所涉及。看完设计模式之后,我感觉到每个模式都

    2021年12月25日
  • linux 下shell中if的“-e,-d,-f”是什么意思「建议收藏」

    linux 下shell中if的“-e,-d,-f”是什么意思「建议收藏」-efilename如果filename存在,则为真-dfilename如果filename为目录,则为真-ffilename如果filename为常规文件,则为真-Lfilename如果filename为符号链接,则为真-rfilename如果filename可读,则为真-wfilename如果filename可写,则为真-xfilenam

    2022年7月11日
  • mac哪个虚拟机最好用_mac装双系统还是虚拟机好

    mac哪个虚拟机最好用_mac装双系统还是虚拟机好刚买了苹果电脑的用户,经常会因为用不惯苹果系统而想换Windows系统,实际上也的确是,许多流行游戏或软件都暂不支持Mac系统,可行的办法是安装mac虚拟机或是双系统,以供支持在苹果电脑上使用Windows应用。下面本文就来讲讲mac虚拟机哪个好用,mac双系统和虚拟机哪个好。

    2022年9月1日
  • Eclipse java SE版本解决无法新建web项目问题「建议收藏」

    Eclipse java SE版本解决无法新建web项目问题「建议收藏」Eclipse java SE版本解决无法新建web项目问题

    2022年4月24日
  • unit 4 Obtaining info about other user

    unit 4 Obtaining info about other user
    unit4Obtaininginfoaboutotheruser
     
    如果你在家使用你的个人电脑,可能你就是登录的唯一用户。然而如果你工作在一个Linux服务器上,就有可能同时存在着其他用户。对于后一种情况,这时候要是有些关于comma

    2022年5月12日
  • hackbar2.2.9在Firefox中的安装

    hackbar2.2.9在Firefox中的安装转载出处:https://www.ddosi.com/b320/尊重原创,以及知识产权,首先声明这是上面链接中大神的辛苦劳动成果,因为不知道如果联系所以这篇转载可能会有侵权问题,希望查看此链接的爱好者直接点击上面的链接查看,这篇仅是个人学习转载。前言众所周知,Firefox的插件必须经过签名,才能加载到浏览器中.因此,对于hackbar的破解,要么是装2.1.3这个没有激活的老版本,要么是直接安装hackbar的替代品,如Machackbar……其实对于h.

    2022年5月15日

发表回复

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

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