allure测试报告框架

介绍

* allure是开源测试报告框架,支持pytest单元测试框架

* 集成简单

* allure可以使用jenkins持续集成工具

配置allure环境

【1】安装allure-pytest库文件

【2】下载allure压缩包

Releases · allure-framework/allure2 · GitHub

        解压后配置环境变量 --- cmd命令行里面可以使用allure命令

        解压完成放到没有中文的目录下

        环境变量:

                系统变量 (path)里面 

                新建 粘贴allure.bat文件所在的路径  //如果是一行显示,需要在路径前后+英文状态下 ;

【3】验证

        cmd ---> allure --version   //可能需要重启pycharm或者电脑 在pycharm的命令行使用allure指令

结合selenium 使用

allure  案例

场景:测试百度搜索及搜索词条

步骤:

* 1.打开浏览器 ---- 多个测试用例函数打开一次(setup_class 或者 fixture注解使用)

* 2.打开百度

* 3.输入关键词

* 4.点击百度一下

* 5.点击超链接

* 6.输入词条

* 7.点击搜索词条

import pytest

from selenium import webdriver

from time import sleep

@pytest.fixture(scope = 'class')

def openBrowser():

        driver = webdriver.Chrome()

        driver.maximize_window()

        driver.implicity_wait(30)

        return driver

@allure.feature('测试百度搜索模块')   //模块

class TestBaidu:

        @allure.story('百度搜索功能')   //子功能

        @allure.title('用例标题')

        def test_baidu(self,openBrowser=webdriver.Chrome()):                    //openBrowser=webdriver.Chrome()  不写没有提示  ,完事后删点

                #打开百度

                with allure.step('打开百度'): //测试步骤

                        driver.get('https://www.baidu.com')

                driver.find_element_by_id('kw').clear()

                driver.find_element_by_id('kw').send_keys('林志玲')

                driver.find_element_by_id('su').click()

                driver.find_element_by_partial_link_text('百度百科').click()

                windows = driver.window_handles   //获取所有窗口

                driver.switch_to.window(windows[-1])  //获取最新的窗口

                driver.find_element_by_id('query').clear()

                driver.find_element_by_id('query').send_keys('高圆圆')

                driver.find_element_by_id('su').click()

                sleep(5)

        @allure.story(‘测试腾讯’) 

        @allure.serverity(allure.serverity_level.BLOCKER)  //用例级别

        def test_qq(self,openBrowser = webdriver.Chrome()):   //完事后删除  webdriver.Chrome()

                driver = openBrowser

                #打开qq页面

                with allure.step('打开qq'):

                        driver.get('https://www.qq.com')

                sleep(2)

                

                allure.attach(body='说明',name='名称',attachment_type=allure.attac

                hment_type.TEXT)

                if  '腾讯首页' == driver.title:

                        driver.get_screenshot_as_file('./screen_shot/chenggong.png')

                        allure.attach.file(source='./screen_shot/chenggong.png',name=成功截                              图,attachment_type=allure.attachment_type.png)

                        //source='源文件',name=显示名称,attachment_type=文件类型

                else:

                        #附加信息

                        allure.attach(body='身体',name='名称',attachment_type=allure.attac

                        hment_type.TEXT)

                        

allure 基本特性

* @allure.step(“测试步骤”) ----引用某个函数作为操作步骤的时候使用

               with allure.step(): ---- 写在测试用例函数里面

                        pass

* 添加文本说明或者附件

*@allure.testcase(url='https://www.baidu.com',name='用例链接显示的名称')

*@allure.issue(url='https://www.baidu.com',name='bug管理平台')

*@allure.attach(bady,name.attachment_type)   //附加文件信息

*@allure.attach.file(source='源文件',name=显示名称,attachment_type=文件类型)

补充:

@allure.epic   //史诗,第一级
@allure.feature  //特性  第二级
@allure.story  //  用户故事  第三级
@allure.title   //标题,第四级
@allure.severity  //用例的优先级
blocker,critical,normal,minor,trivial


@allure.testcase  //用例的链接地址
@allure.description   //用例的描述
@allure.issue    //用例对应缺陷的链接
@allure.link  
@allure.aynamic.title()  //动态的设置标题

配置文件

新建文件   pytest.ini

[pytest]

addopts = -v -s -q --alluredir ./report/json   //指定allure 报告所需json 数据的文件夹

testpaths = ./

python_files = test_*.py

python_classes = Test*

python_functions = test_*

生成测试报告

* 1. pytest      //执行  --alluredir 制定allure报告所需json数据的文件夹

* 2.allure generate ./json -o ./report --clean       //生成测试报告

* 3.allure open report --host 192.168.1.165 --port 8800    //打开报告   host = 本机ip

               注意:多次打开后,出现有缓存情况  可以通过手动输入IP:端口号 进行打开

补充:

allure serve ./report   //打开报告
--alluredir  //生成报告
'--allure-severities','blocker'   按照用例级别执行用例
[pytest]
markers=run  //解除警告
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值