allure安装配置使用 简单版

 

环境安装

一、安装配置JDK

先检查是否安装JDK,cmd中查看java版本:java -version

若未安装,以下面的步骤安装:

1、Oracle官网下载JDK:https://www.oracle.com/java/technologies/downloads/,请下载安装JDK8及以上版本

2、安装JDK

3、JDK配置环境变量:win10系统右击“我的电脑”-->"属性"-->"高级系统设置"-->"高级"-->"环境变量",win11系统在cmd中输入sysdm.cpl

 (1)系统变量中新建"JAVA_HOME"变量
    变量名:JAVA_HOME
    变量值:C:\Program Files\Java\jdk1.8.0_221(填写jdk的安装路径)

(2)系统变量中新建"CLASSPATH"变量
    变量名:CLASSPATH
    变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

(3)在path环境变量中添加以下内容
    %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

(4)验证JDK是否配置成功
    cmd打开命令行终端,输入java -version命令时,并提示如下信息,说明已经安装配置成功。

 

二、安装配置allure

   或:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

 

2、将压缩包解压后,复制安装包到想安装的路径

3、配置环境变量:将allure的bin目录所在路径添加到系统环境变量path中

4、验证是否配置成功:cmd进入命令行窗口,输入allure 或 allure --version 进行验证

 

三、pycharm中安装pytest-allure插件

使用命令pip install pytest-allure 进行安装。

说明:此命令将安装allure-pytest 和 allure-python-commons包,以生成与allure2兼容的测试报告数据。

 
注意:配置好环境变量后要使用allure记得重启下pychram。如果配置环境变量以后如果验证未配置成功,请尝试重启电脑。

allure生成报告

1、先生成测试报告(生成了三个文件):

   pytest testcases/test_switch_window_handle.py --alluredir=UIreport

 

2、再查看测试报告:

  1、可直接生成报告查看:allure generate UIreport -o UIreport/report

 

 

 2、可启动测试报告服务查看:依托测试报告生成的3个文件,生成测试报告的本地服务(如下图:192.168.2.7:6053,且服务是起着的)

     allure serve UIreport

 

自动打开该服务的网页,显示测试报告内容

 

allure报告的丰富使用

1、allure测试报告分层显示测试用例

from time import sleep

import allure

from config.driver_config import DriverConfig
from page.login_page import LoginPage
from page.left_menu_page import LeftMenuPage
from page.external_link_page import ExternalLinkPage


class TestWindowHandle:
    def test_switch_window_handle_01(self, driver):
        # driver = DriverConfig().driver_config
        LoginPage().login(driver, 'william')
        sleep(1)
        LeftMenuPage().click_level_one_menu(driver, '外链')
        sleep(3)
        title = ExternalLinkPage().goto_imooc(driver)
        print(f'title:{title}')
        sleep(1)
        # driver.quit()

    @allure.description('窗口句柄')
    @allure.epic('窗口句柄epic')
    @allure.feature('窗口句柄feature')
    @allure.story('窗口句柄story')
    @allure.tag('窗口句柄tag')
    def test_switch_window_handle_02(self, driver):
        """
        test_switch_window_handle_01,根据测试步骤分类
        :param driver:
        :return:
        """
        with allure.step('登录'):
            LoginPage().login(driver, 'william')
            sleep(1)

        with allure.step('点击外链'):
            LeftMenuPage().click_level_one_menu(driver, '外链')
            sleep(3)

        with allure.step('断言'):
            title = ExternalLinkPage().goto_imooc(driver)
            print(f'title:{title}')
            assert title == '慕课网-程序员的梦工厂'
            sleep(1)

 

 

2、将测试步骤截图放到测试报告

# common.report_add_img封装的方法
from time import sleep

import allure


def add_img_to_report(driver, step_name, need_sleep=True):
    """
    截图并插入allure报告
    :param driver:
    :param step_name:
    :param need_sleep:
    :return:
    """
    if need_sleep:
        sleep(3)
    allure.attach(
        driver.get_screenshot_as_png(),     # 截图
        step_name+'.png',                   # 截图命名
        allure.attachment_type.PNG          # 附件格式
    )

在测试步骤需截图的位置调用add_img_to_report()方法:

from time import sleep

import allure

from page.login_page import LoginPage
from page.left_menu_page import LeftMenuPage
from page.external_link_page import ExternalLinkPage
from common.report_add_img import add_img_to_report


class TestWindowHandle:
    @allure.description('窗口句柄')
    @allure.epic('窗口句柄epic')
    @allure.feature('窗口句柄feature')
    @allure.story('窗口句柄story')
    @allure.tag('窗口句柄tag')
    def test_switch_window_handle(self, driver):
        with allure.step('登录'):
            LoginPage().login(driver, 'william')
            sleep(1)
            add_img_to_report(driver, '登录')

        with allure.step('点击外链'):
            LeftMenuPage().click_level_one_menu(driver, '外链')
            sleep(3)
            add_img_to_report(driver, '点击外链')

        with allure.step('断言'):
            title = ExternalLinkPage().goto_imooc(driver)
            print(f'title:{title}')
            assert title == '慕课网-程序员的梦工厂'
            sleep(1)

 

posted @ 2024-06-07 10:34  陈晓猛  阅读(91)  评论(0编辑  收藏  举报