allure测试报告

介绍

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

  • 集成简单

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

配置allure环境

【1】安装allure-pytest库文件

【2】下载allure压缩包

https://github.com/allure-framework/allure2/releases

解压后配置环境变量 — 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.feature(‘测试百度搜索模块’) — 测试模块

  • @allure.story(‘百度搜索功能’) —子功能,测试用例函数

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

             with allure.step(): ---- 写在测试用例函数里面
    
                      pass
    
  • 添加文本说明或者附件

*@allure.title(‘用例标题’)

*@allure.severity(allure.severity_level.BLOCKER) --用例的级别

*@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=文件类型)

配置文件
新建文件 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:端口号 进行打开
    

你可能感兴趣的:(道长小课堂)