关联接口的处理

当第一个接口返回taskId值和processInstanceId值,在第2个接口中要使用,处理方法:

 

1、Python 做接口测试的处理方式:

def test_data(self):
    time.sleep(20)
    url = "‘’‘’‘’/business/base/approval/myStart"
    method = "Post"
    data = {"pageNum":1,"pageSize":10,"procInstState":"0","startTime":1616947200000,"endTime":1619625600000,"procInstName":""}
    #index_response_dict = self.rm.run_main(method, url, data=data, header=header)
    res = requests.post(url=url, json=data, headers=header, verify=False)
    index_response_dict = json.loads(res.text)
    a = index_response_dict['data']['list'][0]
    businessId = a['businessId']
    processInstanceId = a['processInstanceId']
    taskId = a['taskId']
    title1 = a['title']   
    return businessId,processInstanceId,taskId
def test_approval_agree(self):

    data = self.test_data()
    method = "Post"
    url = "oaprocess/signature/approval/agree"

    data = {
      "attachmentDtoList": [
      ],
      "businessId": data[0],
      "comment": "部门负责人测试通过",
      "processId": data[1],
      "taskId": [2]
    }
    res = self.rm.run_main(method, url, data=data, header=header)

2、jmeter 关联的处理:

   在后置处理器中添加JSON提取器(正则表达式取样器);

Main sampleand sub-samples:应用于主sample及子sample


Main sample only:默认的是这个,应用于主sample

Sub-samples only:应用于子sample


JMeterVariableName to use:应用于变量命名的内容

Variable names : 名称 
JSONPath Expression:JSON表达式 
Match Numbers:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值
Default Value:未取到值的时候默认值
 

在线程组中添加取样器中  BeanShell 取样器;  添加BeanShell 取样器目的检查提取字段对应的值是否正确;

在需要传数据的接口中做关联使用:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest是一个功能强大的Python测试框架,可以用于编写和执行各种类型的测试,包括接口自动化测试。在pytest中,可以使用参数关联处理接口之间的依赖关系。 参数关联接口自动化测试中的应用场景包括: 1. 接口依赖:某个接口的请求参数需要依赖于另一个接口的返回数据。可以通过在测试用例中先调用依赖接口,获取返回数据,并将其作为参数传递给被依赖接口。 2. 接口链式调用:多个接口需要按照一定的顺序进行调用,后一个接口的请求参数需要使用前一个接口的返回数据。可以通过在测试用例中按照顺序调用接口,并将返回数据保存起来,供后续接口使用。 下面是一个使用pytest进行接口关联的示例: ```python import pytest import requests # 定义接口A def test_interface_A(): response = requests.get('http://api.example.com/interfaceA') data = response.json() return data['param'] # 定义接口B,参数关联接口A def test_interface_B(test_interface_A): param = test_interface_A response = requests.post('http://api.example.com/interfaceB', data={'param': param}) assert response.status_code == 200 assert response.json()['result'] == 'success' # 定义接口C,参数关联接口B def test_interface_C(test_interface_B): param = test_interface_B response = requests.post('http://api.example.com/interfaceC', data={'param': param}) assert response.status_code == 200 assert response.json()['result'] == 'success' ``` 在上述示例中,test_interface_B和test_interface_C的参数test_interface_A和test_interface_B分别关联到了前一个接口的返回数据。这样,在执行测试用例,pytest会自动按照依赖关系调用接口,并将返回数据传递给后续接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值