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
变量名: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/
注意:windows系统请下载对应版本的zip包(此处下载的是2.18.1版本的allure)!!!
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)