首页 > 编程语言 >2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程

时间:2023-11-09 11:02:41浏览次数:57  
标签:登录 title testcase yaml token allure 自动化 jenkins

本框架适合对Pytest有大概认识(比如看完X站3天课程的水平),职场新人没有雄厚的资本去参加专业的培训、功能测试转自动化测试、开发转测试的小伙伴们。

首先介绍下这个框架的使用,看看是不是你所需要的。

第一步、添加模块PY文件,编写接口代码。

class TestJuhe:
		
    #upwei:fanfanzb2023
    @pytest.mark.run(order=1)
    @pytest.mark.parametrize("testcase", get_testcase_yaml("./testcases/test_Juhe_post_login.yaml"))
    def test_post_login(self, testcase):
        allure.dynamic.feature(testcase["feature"])
        allure.dynamic.story(testcase["story"])
        allure.dynamic.title(testcase["title"])

        RequestBase().specification_yaml(testcase)
	
    #upwei:fanfanzb2023
    @pytest.mark.run(order=2)
    @pytest.mark.parametrize("testcase", get_testcase_yaml("./testcases/test_Juhe_UserInfo.yaml"))
    def test_get_UserInfo(self,testcase):
        allure.dynamic.feature(testcase["feature"])
        allure.dynamic.story(testcase["story"])
        allure.dynamic.title(testcase["title"])

        RequestBase().specification_yaml(testcase)

统一模板,只需要修改接口对应的Yaml数据文件。

保留Pytest框架,便与理解,配置灵活,比如conftest.py夹具配置,接口的执行顺序@pytest.mark.run(order=1)等。

第二步、编写用例yaml数据文件

  • 单条用例
- feature: 登录模块
  story: 登录接口
  title: 登录成功的用例
  request:
    method: POST
    url: /api/login
    header:
      Content-Type: application/json
    json:
      account: [email protected]
      password: "123456"
    validation:
      - {contains: {"code": 200 }}
      - {eq: { 'message': '成功!' }}
    extract:
      access_token: $.result.token
      access_token2: $.result.token
  • 多条用例
- feature: 登录模块
  story: 登录接口
  title: $ddt{title}
  request:
    method: POST
    url: /api/login
    header:
      Content-Type: application/json
    json:
      account: $ddt{account}
      password: $ddt{password}
    validation:
      - $ddt{validation}
    extract:
      access_token: $.result.token
      access_token2: $.result.token
  parametrize:
    - ["title","account","password","validation"]
    - ["登录失败的用例-密码不正确","[email protected]","123456789",'{"contains": { "message": "登录失败,请检查账号密码!"}}']
    - ["登录失败的用例-用户名不正确","[email protected]","123456",'{"contains": { "message": "登录失败,请检查账号密码!" }}']
    - ["登录成功","[email protected]","123456",'{"contains": { "code": "200" }}']
  • 使用提取的变量,加密,特殊处理的变量
- feature: 登录模块
  story: 获取个人信息接口
  title: 获取成功-成功取得个人信息
  request:
    method: get
    url: /api/getUserInfo
    header:
      token: ${get_extract_data(access_token)}
    validation:
      - {contains: { 'code': 200 }}

执行生成报表如下:

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_码尚教育接口自动化测试框架

以上就完成了自动化测试,生成报表。

==================== 我是分割线 ===================

下面简述下jenkins集成关键步骤:

第一步、配置git,自动拉取自动化测试代码。

要点:虽然需要生成ssh的公钥私钥credentials, 但是repository URL一定是git上http的链接,而不是ssh的链接。

jenkins安装参照:2023最新Jenkins安装指南,基本配置,镜像修改以及注意点_将软件测试进行到顶的技术博客_51CTO博客

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_接口自动化测试框架源码_02

第二步、设置自动化测试脚本的执行

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_码尚教育接口自动化测试框架_03

第三步、设置脚本触发条件,这里是定时触发半小时触发一次

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_接口自动化测试框架源码_04

第四步、设置邮件发送

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_Pytest+allure+jenkin_05

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_接口自动化测试框架源码_06

亲测,球球邮箱也是可以的,有的说不行。

效果如下:

2023码尚教育接口自动化框架的实现源码分享pytest+allure+jenkins几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_Pytest+allure+jenkin_07

以上是整个流程的简介,各种细节会在其他文章中分享,持续更新,希望对大家有帮助。


标签:登录,title,testcase,yaml,token,allure,自动化,jenkins
From: https://blog.51cto.com/u_16334171/8274015

相关文章

  • 常用python自动化脚本
    目录自动化文件管理使用Python进行网页抓取文本处理和操作自动发送电子邮件自动化Excel电子表格与数据库交互自动化系统任务网络自动化数据清理和转换自动化PDF操作1.自动化文件管理1.1-排序目录中的文件# Python脚本,用于根据文件扩展名对目录中的文件进行排序i......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-25-处理单选和多选按钮-中篇
    1.简介上一篇中宏哥讲解和介绍的单选框有点多,而且由于时间的关系,宏哥决定今天讲解和分享复选框的相关知识。2.什么是单选框、复选框?单选按钮一般叫raidobutton,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中。单......
  • [-006-]-Python3+Unittest+Selenium Web UI自动化测试之悬浮窗口中的元素点击
     1.分析现状:PPT模板悬浮出现悬浮窗口悬浮窗口中分为4大类:PPT模板,PPT模板页,PPT关系图,PPT图表大类下存在小类点击可跳转但是此页面里还存在PPT模板下的总结汇报等此种情况的元素此情况如果仅用text定位是无法定位到的所以排除了text定位方式2.解决方法:首先我们看下悬浮窗......
  • 软件测试|Selenium 自动化处理授权框、登录框和握手框
    简介Selenium是一个广泛用于自动化web浏览器操作的工具,可以用于模拟用户在浏览器中的交互。在自动化测试和网页数据抓取中,经常会遇到需要处理授权框、登录框和握手框的情况。在本文中,我们将详细介绍如何使用Selenium处理这些常见的弹出框,并提供示例代码。弹框分类在web自动化......
  • windows+jenkins+pscp发布代码
    1、背景:由于公司开发游戏的小伙用cocos,CocosCreator3.x目前只能在windows下编包,所以只能在windows系统安装jenkins实现。jenkins安装等忽略了,下面提供一些下载地址。https://www.jenkins.io/download/https://www.oracle.com/java/technologies/downloads/#jdk17-windowshttp......
  • Appium 2.X 做 iOS UI 自动化测试 —— 起步
    环境Appium2.0之后,安装方式简化了许多,和之前变化很大;必须使用Mac;分别安装node、appium#nodebrewinstallnodenpmconfigsetregistryhttps://registry.npm.taobao.org#appiumnpminstall-gappium安装appium-inspector客户端下载或者网络调试,不过速度较......
  • Jenkins pipeline
    自定义workspace,设置构建名称currentBuild.description="${params.tag}"Stringworkspace="/opt/jenkins/workspace"pipeline{agentanystages{stage('本次发布tag号'){steps{echo"${params.tag}&......
  • 工业自动化教程3执行器
    3执行器在上一章中,我们将人类的运作方式与自动化联系起来。我们将眼睛、触觉和嗅觉比作开关和传感器,而将控制器比作大脑。在本章中,我们将探讨执行器,它可以比作手。在我们的身体系统中,双手按照大脑的指令行事。同样,在自动化系统中,控制器让执行器做什么,执行器就做什么。执行器只是......
  • jenkins Java heap space
    jenkinsJavaheapspace,是内存不够。 两个解决方案:一,修改配置文件windows系统中,找到Jenkins的安装路径,修改jenkins.xml将-Xmx256m改为-Xmx1024m或者更大重启jenkins服务。 二,jenkins增加全局配置(jenkins版本不一样,可能名称和菜单也会不一样。)系统配置--》全局......
  • 物联网卡运营 阶梯限速、阶梯防超套、自动化推送
    双11钜惠IoTOS-Plus商业版3折(限前20位)终身升级,与时俱进;限时钜惠与君共勉。 近期更新:    商业版更新内容:运营方案、套餐组功能拓展、用量跨月算法完善、日租套餐、自动化功能设计、卡用量详情表格查看一、运营方案(目前仅流量运营)PS说明:    1.运营方案......