pytest+jenkins+allure 接口测试

1、自动化脚本,通过现有的方式尽可能少的写代码,并且实现生成更多的用例测试。一下为对一个接口参数校验的脚本:

import pytest
from db_fixture import data
# 引用数据处理的方法
from db_fixture.data import common_def
from db_fixture.data_file import read_yaml
from db_fixture.control_sys import *

import time
import os

#  配置初始化参数
#  获取数据路径

# data_path = os.path.join(os.path.dirname(os.getcwd()), "test_data")
data_path = 'F:\\workspace\\pytest_demo\\test_data'
iot_sendParamsdir = data_path + '\\iot_send_param.Yaml'
#iot_send_param.Yaml 存放所有申请的报文
sendparams = read_yaml(iot_sendParamsdir)
#读取报文信息
class Test_iotapplyplugin:
    params = sendparams['iot_applyplugin']
    params_null, param_re = data.param_null('iot_applyplugin', params)
  #将所有需要验证空的参数返回一个报文列表

    @pytest.mark.parametrize('send1,recode1', params_null, ids=param_re)
  #将所有报文、用例名称、响应结果参数化
    def test_iotapplypluginparam_null(self, send1, recode1):
        print('send1', send1)
        # print('recode1', recode1)
        re = common_def(send1)
        print("re",re)
        assert re.json()['errorCode'] == str(recode1)
        print("re", re.json()['errorCode'])

    params_len2, param_re2 = data.param_lang('iot_applyplugin', params)

    @pytest.mark.parametrize('send1,recode1', params_len2, ids=param_re2)
    def test_iotapplypluginparam_lang(self, send1, recode1):
        print('send1', send1)
        # print('recode1', recode1)
        re = common_def(send1)
        assert re.json()['errorCode'] == str(recode1)
        print("re", re.json()['errorCode'])

 

2 jenkins 配置

1)新建一个自由风格的项目,并配置测试脚本所在的节点:

 

2)定义工作空间:

 

 3)添加构建操作和构建后操作,执行命令下放需要带上exit0 ,构建后操作文件应与allure生成文件一至,:

 

 

3、执行构建,生成allure报告:

 

 

4.配置测试报告发给项目相关人员: 

 

 

 邮件内容:

 

 选择发送的条件:

 

 选择总是,这样就可以每次构建收到结果邮件了

 

 关于Jenkins其他配置请参考别的帖子,简单的接口测试关键是做好数据的处理,接口方法请求方法调用都是一样的。

posted @ 2020-12-10 19:17  Johnson_Yuan  阅读(151)  评论(0编辑  收藏  举报