zoukankan      html  css  js  c++  java
  • 使用HttpRunner3+Allure+Jenkins实现Web接口自动化测试

    陆续给不同项目做了Web接口自动化测试,在尝试不同方法的同时会有新的体会。最近用到了HttpRunner3,本文将记录使用HttpRunner3+Allure+Jenkins在项目中快速实现Web接口自动化测试的过程。

    HttpRunner3

    安装

    安装HttpRunner3:pip install httprunner

    脚手架

    使用HttpRunner提供的脚手架工具,能够快速创建项目目录,输入命令:httprunner startproject xxx

    比如我通过"httprunner startproject demo"创建了名为demo的项目,创建完成后目录结构如下图所示:

     

    生成测试用例

    创建完项目目录后,如何快速生成测试用例呢?

    为方便我们写用例,HttpRunner提供了录制工具,能够将har文件转换成pytest类型或者yaml/json类型的用例。而har文件可以通过抓包软件获得,以Charles举例:右键选择想要转换成用例的http请求->Export Session->文件类型选择.har格式保存。

     

    此时,我们就完成了har文件的提取工作,那么如何转换成用例呢?HttpRunner提供了命令:har2case xxx.har 用har文件生成对应的pytest类型的测试用例。还是以demo项目举例,进入项目根目录下,har2case demo/har/github.har将在har目录下生成github_test.py文件,该文件即为pytest格式的用例。

     

    为了便于分类管理,将生成的github_test.py文件从har文件夹移至testcases文件夹下。此外,很多时候,我们需要对初步生成的pytest用例进行修改,由于本文篇幅有限,请参考官方文档查阅方法。

    运行用例

    HttpRunner提供hrun命令用于运行测试用例,官方文档解释hrun等于pytest。所以,我们可以输入命令pytest demo/testcases/github_test.py来运行pytest类型用例。运行完成后,会在logs文件夹下生成对应的log文件,里面记录了测试过程及结果,如下图所示。

     

    当然,为了操作方便,建议编写runner.py用于运行测试用例,而不是敲命令行的方式。

    Allure测试报告

    安装allure环境

    Step1:安装java环境,因为allure依赖。然后安装allure,下载地址https://github.com/allure-framework/allure2/releases,解压后将allure/bin目录添加至系统环境变量中。

    Step2:安装allure-pytest插件:pip install allure-pytest

    运行用例并生成Allure测试报告

    继续上述例子,分别输入命令行:

    pytest demo/testcases/github_test.py --alluredir=demo/reports/allure_results

    allure generate --clean demo/reports/allure_results -o demo/reports/allure_reports

    将在demo项目的reports目录下生成allure测试报告,如下图所示。

     

    经过上述步骤,已经能在本地使用HttpRunner录制脚本、执行测试及生成测试报告了。如需进一步远程定时运行测试用例、生成测试报告及邮件通知,我们可以通过jenkins实现它。

    配置Jenkins

    添加插件

    安装并启动Jenkins服务后,在Manage Jenkins->Manage Plugins添加以下插件:

    • Allure Jenkins Plugin : 用于生成Allure测试报告
    • Email Extension :用于发送邮件

    修改系统配置

    添加号插件后,需要修改Jenkins的系统配置:

    • 配置Allure:在Manage Jenkins->Global Tool Configuration中配置allure系统路径
    • 发送邮件:在Manage Jenkins->Configure System中配置邮件服务器

    修改Job配置

    完成上述操作后,接着需要在Jenkins Job中完成相应的配置。新建或者打开一个Job,修改它的配置项。

    设置定时

     

    编写批处理命令

     

    配置生成allure

     

    配置发送邮件

     

    Job配置完成后,便可根据实际的项目节奏定时运行测试,生成Allure测试报告及邮件通知相干人员了。当然,后续也可通过jenkins pipeline进一步达到CI/CD的目的。

    参考资料

    作者:酌三巡

    感谢阅读,如需转载请注明出处!

  • 相关阅读:
    quick-cocos2dx 3.5集成protobuf
    lua和luajit在cocos2dx mac模拟器的简单测试
    cocos2dx-lua手游客户端框架设计
    cocos2dx动画技术选型
    lua中的面向对象
    html 学习
    OC 与js 互相调用
    Carthage的安装和使用
    Bomb后端云使用
    FMDB简单使用
  • 原文地址:https://www.cnblogs.com/zhuosanxun/p/14575020.html
Copyright © 2011-2022 走看看