hanhan1 / appium_test

appium+python+allure+jenkins 的自动化测试框架
18 stars 11 forks source link

Allure测试报告与Jenkins集成 #3

Open hanhan1 opened 7 years ago

hanhan1 commented 7 years ago

Allure 官方介绍http://allure.qatools.ru/ Allure 生成的报告不仅美观且方便CI集成 这是项目最后的报告截图

安装adapter

pip install pytest-allure-adapter 生成报告 pytest -s -q --alluredir [path_to_report_dir] 这时候就会发现用例执行完成后会在当前目录下生成了一个report文件

生成report

allure generate report/ -o report/html 最终报告会生成在report/html目录下 打开index.html即可看报告

定制report

让生成报告的可读性更高,可以用一些api来实现

@allure.step 和 @allure.attach 可以让生成的报告更直观(可理解为注释)

@allure.step在报告中增加步骤显示 @allure.attach在报告中增加额外的信息:allure.attach(’arg1’,’arg2’,’arg3’): arg1:是在报告中显示的名称 arg2:表示添加的内容 arg3:表示添加的类型(支持类型:HTML,JPG,PNG,JSON,OTHER,TEXTXML) 往报告中添加额外的信息 allure.attach(‘this is an attach’,’aaaaa’) 往报告中添加图片

F= open(‘./b.png’,’rb’).read()
Allure.attach(‘this is a img’,f,allure_type.PNG)

Severity标注bug的严重等级,可以针对某个等级执行用例,其他等级都跳过,也可将等级高的bug优先修复 如果希望只跑critical和blocker这两个等级的case 在原先命令上加上--allure_severities=critical,blocker参数 py.test --alluredir report --allure_severities=critical,blocker -s –q featuresstories 与severity一样可以将case分类 只执行部分 feature/stories 的话,用下面命令 py.test --alluredir report --allure_features=feature1,feature2 --allure_stories=story1,story2

集成Jenkins

参考链接

安装插件

jenkins 安装插件 Allure Jenkins Plugin HTML Publisher plugin 在系统设置中将JDK / Maven 等其他一些基本配置(建议jdk版本1.8)

在jenkins中添加allure执行工具

jenkins添加allure执行工具

  1. 下载 allure执行的压缩文件(allure-commandline.zip)
  2. 用tomcat搭建一个简单的服务器将allure-commandline.zip当作静态资源提供下载 (http://localhost:8080/allure-commandline.zip
  3. 在jenkins的系统配置—–Allure Commandline —-选择自动安装—–选择解压zip—-填写提供下载zip包的url地址
  4. 填写其他必填项
  5. 点击保存

    新建job

    在job中添加步骤 Allure report(Results:第一行表示xml文件的路径;第二行表示生成报告的路径) 目前job的整个流程:

  6. 构建时,从svn上拉取最新的测试代码
  7. 执行测试脚本并且生成allure需要xml结果文件
  8. 通过Allure report生成测试报告
  9. 设置问题追踪(在Allure Report 下选择增加:

Key: allure.issues.tracker.pattern Value: http://tracker.company.com/%s)

由于jenkins1.5.2以上版本对插件的安全性做了限制必须要在jenkins 启动时添加启动代码

java 
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';" 
-Djenkins.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"
-jar jenkins.war
ovwane commented 6 years ago

「错误」pip install pytest-allure-adapter 应该是 pip install pytest-allure-adaptor

adapter 改为 adaptor