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,增强报告
截图、录像、日志、链接、步骤

更新。。。。。。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python:画出笛卡尔心形曲线

    Python:画出笛卡尔心形曲线极坐标方程:ρ=a(1−sin⁡θ)\rho=a(1-\sin\theta)ρ=a(1−sinθ)极坐标画图:%matplotlibinlineimportmatplotlib.pyplotaspltimportnumpyasnptheta=np.linspace(0.0,2*np.pi,1000)a=5rho=a*(1-np.sin…

    2022年10月16日
  • mysql groupadd_Linux下groupadd命令无法添加用户和组的解决

    mysql groupadd_Linux下groupadd命令无法添加用户和组的解决今天需要给一个linux服务器安装mysql,在安装mysql的时候,出现错误提示:[root@localhostsoftwaretools]#rpm-ivhMySQL-server-5.5.23-1.rhel5.x86_64.rpmPreparing…###########################################[100%]1…

    2022年10月28日
  • 安防监控系统的几个基础小知识

    安防监控系统的几个基础小知识  问题一:摄像机装多高?  我在和客户沟通的时,很多时候都建议客户室内不低于2.5米,室外不低于3.5米,这些数字虽然简单但考虑到了室内的高度及镜头下压的角度,也考虑到了室外安装时照射的长度及防人为破坏的因素。  问题二:支架安装有何建议?  在装摄像机的时候都会有壁装和吊装两种选择,超市等室内环境吊装比较多,室外一般选择壁装。一般轻巧些的机器比如中维世纪的JVS-N81-HY用04、05…

  • ERROR 1100 (HY000): Table ‘api_category’ was not locked with

    ERROR 1100 (HY000): Table ‘api_category’ was not locked with

  • Eclipse创建Java Web项目时,没有自动生成web.xml文件

    Eclipse创建Java Web项目时,没有自动生成web.xml文件今天创建动态Web项目时,发现WEB-INF下面没有自动生成web.xml配置文件。解决方案:        1)方法一:            File—&gt;新建动态项目出现如下图,这时候不要急于Finish,请点击next—&gt;出现如下图—&gt;继续Next出现如下图,请选择对勾。创建好的项目,WEB-INF下面就有Web.xml文件。  方法二:在Tomcat安装包里面…

  • FAE新手上路_ra上路

    FAE新手上路_ra上路2018年夏天,因为犹豫,最终放弃了一家中意的公司,选择继续留在原公司,这是我到目前为止进入互联网行业做的最错误的决定,网上无数血的教训,同事委婉的劝告,都没改变我跟随新领导的“决心”,另外自己也没有做好换一个新环境的准备,所以就留下来了,换来的是兑现不了的大饼和离职时差点闹开的不堪经历,过去的是是非非我就不作评价了,只是以我的之前的经历告诫各位,一、不要去外包公司。二、提了离职,绝…

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

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