介绍
配置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 案例
场景:测试百度搜索及搜索词条
步骤:
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
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_*
生成测试报告
-
- 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:端口号 进行打开
|