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

本框架适合对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: 1264588522@qq.com
      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"]
    - ["登录失败的用例-密码不正确","12689624589@qq.com","123456789",'{"contains": { "message": "登录失败,请检查账号密码!"}}']
    - ["登录失败的用例-用户名不正确","12634821@qq.com","123456",'{"contains": { "message": "登录失败,请检查账号密码!" }}']
    - ["登录成功","12689624589@qq.com","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+gitee几乎零代码少量的代码让配置更灵活企业自动化测试allure报告jenkins持续集成全套流程_码尚教育接口自动化测试框架

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

allure报告的定制化,附代码实现参照:Allure企业级报告定制化自定义logo、中文标题、模块名、用例名、用例详细的测试数据如用例日志、请求信息、返回信息、logo右侧的文字等一文道尽_将软件测试进行到顶的技术博客_51CTO博客

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

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

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

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

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

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

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

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

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

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

第四步、设置邮件发送

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

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

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

效果如下:

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

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
s9J0zzi3ajGX
最新推荐 更多