目录
allure是一款基于java开发的用于生成HTML测试报告的工具,通常需要和pytest绑定使用
它长成这个样子
1、使用方法
导入模块 import allure ,在测试类或者方法前面加上对应的allure装饰器函数
常用装饰器函数如下:
函数名称 | 对应报告内容 |
---|---|
@allure.epic() | 项目名称 |
@allure.feature() | 模块名 |
@allure.story() | 子模块 |
@allure.title() | 用例标题 |
@allure.step() | 测试步骤 |
@allure.description() | 预期测试结果 |
@allure.issue(url) | 链接到bug系统 |
@allure.link(url) | 链接到被测系统 |
1.1、allure函数在项目代码中的写法
1.2、装饰器函数在测试报告对应的展示
1.3、完整代码如下
import os
from tools.get_driver import GetDriver
from tools.read_json import read_json
from page.sale.login import PageLogin
from tools.get_log import GetLog
log = GetLog.get_logger()
import allure
@allure.epic("LILISHOP商城购物系统")
@allure.feature("登录模块")
class TestLogin:
# 初始化
log.info("初始化")
def setup_class(self):
# 初始化json数据
pathdir = os.sep + "sale" + os.sep + "login.json"
self.data_json = read_json(pathdir)
# 初始化driver
self.driver = GetDriver().get_driver(self.data_json[0])
# 结束
log.info("结束")
def teardown_class(self):
self.driver.quit()
# 调用page层的综合调用方法
log.info("调用page层的综合调用方法")
@allure.story("Login")
@allure.title("登录方法")
@allure.description("登录成功")
@allure.issue("https://localhost")
@allure.link("https://store-b2b2c.pickmall.cn/login")
def test_login(self):
PageLogin(self.driver).page_login(self.data_json[1], self.data_json[2])
# 避免因为错误导致脚本异常中断
try:
# 判断是否登录成功
log.info("断言成功")
assert PageLogin(self.driver).page_get_word() == self.data_json[3]
# 未成功,抛出异常
except Exception as e:
log.info("断言失败")
print("错误信息为:", e)
raise
if __name__ == '__main__':
TestLogin().test_login()
2、生成allure测试报告
运行测试脚本,使用pytest生成json格式报告,再使用allure生成HTML格式报告,便于查看
2.1、pytest命令
pytest -s --alluredir=./report --clean-alluredir
2.2、allure命令
allure generate ../report -o ./report/html --clean
3、视频版本如下
---THE END ---
更多内容请关注同名微信公众号