自动化测试持续集成(pytest+allure+jenkins)

1.安装pytest

pytest是python上的一个测试框架,兼容unittest的语法,因为之后的测试报告生成需要pytest的支持,所以我们要先装一下这个框架。
cmd界面输入命令:

pip install pytest

2.安装allure

allure2是一个测试报告的框架,支持多种语言、测试框架,比起前面提到的HTMLTestRunner有着更加漂亮的界面,更加直观的图表统计
cmd界面输入命令:

pip install pytest-allure-adaptor

3.Jenkins插件安装和配置

  • 启动Jenkins,安装插件【系统管理--管理插件】
    Allure Jenkins
    HTML Publisher
  • 全局配置【系统管理--全局工具配置】


    配置JDK

    配置Maven和Allure
  • 再进【系统管理-系统设置】拉到最下面,设置问题追踪,在Allure Report下选择增加:
    Key: allure.issues.tracker.pattern
    Value: http://tracker.company.com/%s
  • 最后进【系统管理--脚本命令行】执行权限代码
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';")

4.新建Job,配置构建命令和发送邮件

  • 新建任务,输入任务名称,选择【构建一个自由风格的软件项目】


  • 进入项目[CcloudTest]--配置[Configure],添加构建命令:
pytest "C:\Users\o_p_q_o\PycharmProjects\UItest\testcase" --alluredir allure-results

中间的路径是需要测试用例的目录

  • 添加构建后操作Allure Report,生成Allure报告
    Path里填allure-results,与构建命令后面的一致
    Report path里填allure-report
  • 设置邮件通知
    安装插件:Email Extersion

进入系统管理--系统设置,Jenkins Location设置系统管理员邮件地址为你的发件邮箱

然后设置Extended E-mail Notification
SMTP server: smtp.qq.com
Default user E-mail suffix: @qq.com
点开“Advanced高级”,勾选“Use SMTP Authentication”
User Name填你的发件地址,和管理员地址保持一致
Password填你的QQ邮箱的smtp服务授权码,不是QQ密码
勾选Use SSL SMTP port: 465
Default Recipients: 填写收件邮箱
Default Content稍微改一下,如下:

$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:

Check console output at ${BUILD_URL}allure/ to view the results.

勾选Enable Debug Mode
点开Default Triggers设置你邮件的发送时机,我选的Always,始终发送

  • 然后回到job的配置页面,增加一个构建后操作Editable E-mail Notification即可

现在点击构建项目,不出意外的话就能生成报告并且收到邮件了

你可能感兴趣的:(自动化测试持续集成(pytest+allure+jenkins))