allure测试报告
官网:https://docs.qameta.io/allure/
安装
1:安装jdk1.8+并配置环境变量;
2:安装scoop
set-executionpolicy remotesigned -scope currentuser
iex (new-object net.webclient).downloadstring(‘https://get.scoop.sh‘) # 需要代理
scoop help # 验证是否成功
3:安装allure
scoop install allure
allure help # 验证是否成功
4、安装allure-pytset
pip install allure-pytest
使用
- 装饰器使用
功能:@allure.feature() @allure.story()
严重等级: @allure.severity(xxx) blocker critical normal minor trivial
@allure.feature(‘顾客信息统计‘)
class TestCustomer(BaseApi):
data = Customer.yaml_load(‘../data/yunding/customer.data.yaml‘)
@classmethod
def setup_class(cls):
cls.cus = Customer()
@allure.severity(‘blocker‘)
@allure.story(‘查询客流统计‘)
@pytest.mark.parametrize(‘businessStoreIds, expect‘, data[‘test_find_customer_stat‘])
def test_find_customer_stat(self, businessStoreIds, expect):
res = self.cus.find_customer_stat(businessStoreIds)
logging.info(
‘\n 查询客流统计: \n - businessStoreIds:{} \n 断言code:{} \n 返回值: {}‘
.format(businessStoreIds, expect, res.json())
)
assert res.json()[‘code‘] == expect
2、命令生成报告
pytest file_name --alluredir = dict_name # 执行脚本并生成报告,file_name为测试文件,dict_name为报告生成路径
allure serve -p 80 dict_name # 运行报告,生成一个H5,会自动跳转
allure generate dict_name -o dict_name_1 # 生成静态报告文件 前者为报告路径,后者为输出路径
3、代码生成报告
pytest.main([‘-s‘, ‘--alluredir‘, res_path, ‘test_chart_information.py‘]) # res_path为报告输出路径
git+jenkins+allure+email持续集成
allure配置
1、在pycharm上配置git,将代码提交
2、代码中的testcase目录下新建一个run.py,内容如下
import pytest
if __name__ == ‘__main__‘:
res_path = ‘/var/lib/jenkins/workspace/IntelligenceHardwareApiAuto/results/allure-results‘ # 测试报告存放路径,该路径是jenkins从git上拉下的代码路径
pytest.main([‘-s‘, ‘--alluredir‘, res_path, ‘test_chart_information.py‘]) # 运行test_chart_information.py下的所有用例,可以运行项目的所有用例,也可运行指定用例,具体百度
在服务器上配置allure插件,https://docs.qameta.io/allure/#_pytest,上传一个allure的zip包到服务器,解压到任意目录,将/bin配置到环境变量即可,输入 allure可看到帮助信息,注意要有jdk1.8+的环境
3、在服务器 pip install allure-pytest
4、Jenkins配置allure插件,https://www.cnblogs.com/Simple-Small/p/11512337.html,service jenkins restart 重启jenkins命令
5、在系统管理--全局工具配置中配置allure和jdk和git,注意allure安装目录不带bin !
?
6、在job中配置构建后操作allure-report,对比上面的第二条,xml文件路径==res_path,静态文件生成路径也在results下
?
7、添加构建,如下:
?
- 服务器给jenkins用户root权限,不然无法写入数据,具体百度
- 执行构建,构建成功
邮件配置
1、邮件配置,系统管理--系统配置,配置Jenkins Location,注意密码是stmp/pop的密钥,具体获取方法请百度,如下:
? 配置Extended E-mail Notification,如下:
? 配置邮件通知,如下:配好之后测试一下
2、在job添加构建后操作:
?
?
邮件内容如下:
<!DOCTYPE html>
<html lang="en">
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<h1><center><font color="red">allure报告在线查看or下载allure-report.zip用firefox离线查看,测试用例见附件</font><center></h1>
</tr>
<tr>
<td><br/>
<b><font color="#0B610B">项目描述:${JOB_DESCRIPTION}<br></font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<li>系统allure测试报告:<a HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a><li>
</ul>
</td>
<tr>
<td>
<b><font color="#0B610B">构建日志 (最后 100行):</font></b>
<hr size="2" width="100%" align="center" />
</td>
</tr>
<tr>
<td>
<textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
${JELLY_SCRIPT}
</table>
</body>
</html>