环境安装
一、安装配置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
1、下载路径:https://github.com/allure-framework/allure2/releases
或: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 sleepimport allurefrom config.driver_config import DriverConfig from page.login_page import LoginPage from page.left_menu_page import LeftMenuPage from page.external_link_page import ExternalLinkPageclass TestWindowHandle:def test_switch_window_handle_01(self, driver):# driver = DriverConfig().driver_configLoginPage().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 sleepimport alluredef 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 sleepimport allurefrom 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_reportclass 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)