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其他配置请参考别的帖子,简单的接口测试关键是做好数据的处理,接口方法请求方法调用都是一样的。