ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【python】python+pytest+allure+jenkins的接口自动化框架搭建

2022-02-08 18:35:21  阅读:524  来源: 互联网

标签:.. 用例 python py pytest -- allure test


一、目的

本文用于记录python接口自动化框架搭建的主体架构

 

二、python自动化编码环境准备

见上一篇博客【python】python自动化编码环境准备

 

三、框架目录结构介绍

 

说明:

|--comon #定义的公共类、函数。包括Excel处理、log等。
    |--excel_parse #解析excel通用类
|--logger #记录日志通用类
|--request #接口请求通用类
|--login #处理登录及session初始化 |--conf
|--conf.ini #全局配置文件,主要存放服务器ip,端口,登录用户名密码等信息。
|path_config.py #全局路径定义文件,例如测试数据存放路径等
|read_config.py
|--report #测试报告输出目录,包括allure-report和logs。 |--src_libs #自定义的关键字库,业务封装
|--aa #自定义类aa
|--bb #自定义类bb |--testcase #测试用例 |--test_aa #用例文件,以test_*开头 |--test_bb
|--testdata #测试数据 |--testdata_aa #e.g.存放大搜测试数据,excel格式 |--
testdata_bb
|--main.py #测试用例主入口,支持带参数执行。
|--pytest.ini # pytest配置文件,用于定义case标签。

四、框架数据流

 

 

  1. 读取接口配置文件config.ini,包括:hostip,hostport,username,password等
  2. 读取Excel中的测试用例数据,返回用例列表caselist
  3. 参数化测试用例,将caselist中的用例数据逐条传递到用例中,处理数据中参数、变量
  4. 发送http请求,获取返回信息
  5. 校验结果,response result=expect result
  6. 存储变量
  7. 输出测试报告  ${workspace}/report/html/index.html

五、pytest简介

  5.1.用例命名规则:   

  • 符合命名规则test_*.py 或者 *_test.py的文件   
  • 以test开头的函数名   
  • 以Test开头的测试类(没有__init__方法)当中,以test_开头的方法
  • 断言使用基本的assert即可

  5.2.用例执行顺序:

  • 先执行类前置–>单用例前置–>方法用例–>用例后置–>类后置
  • setup_class → setup_method → testcases ->teardown_method→teardown_class
  • testcases的执行顺序随机

  5.3.pytest执行用例

  • 终端执行:pytest --sv test_XXX.py -m "smoke" --alluredir=../../report/allure_dir --clean-alluredir
  • 主函数执行:pytest.main(["-sv","test_XXX.py","-m","smoke"])
  • main.py 执行:python main.py test_XXX.py 10.82.241.66 8099

  5.4.支持测试场景

  • 支持对testcase分类执行@pytest.mark.smoke;pytest -m "smoke or V1.1.1"
  • 跳过指定用例执行@pytest.mark.skip
  • 支持自定义前置后置条件@pytest.fixture()
  • 支持jenkins集成
  • 支持多个接口之间的数据复用
  • 测试数据驱动脚本,无需编写代码。使用Excel快速编写接口测试用例

六、框架使用流程

  1. 在config.ini中配置服务器基本信息
  2. 在Excel中编写测试用例,并标记出需要运行的用例,放置在指定的路径testdata下
  3. 在pycharm中编写测试用例,参考【python】如何编写你的第一个自动化用例
  4. 在pycharm终端进入对应的用例文件夹下执行用例

               #pytest -sv test_demo.py --alluredir=../../report/allure_dir --clean-alluredir

       5.用例结束后,生成allure报告

                #allure generate ../../report/allure_dir -o ../../report/html --clean

       6.查看allure报告,在../../report/html目录下查看index.html,即测试报告

 

标签:..,用例,python,py,pytest,--,allure,test
来源: https://www.cnblogs.com/happylumei/p/15872357.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有