pytest接口测试中token和header的处理

最近在学习pytest框架,然后遇到了一些问题,要是刚开始接触接口测试的话肯定是没有思路的。之前有深入的用过jmeter,发现好多也都是想通的,记录一下,之后再用其他的框架的时候,也可以参考这个思路。

一、jmeter中token的处理

我相信每个公司的接口都会有token这个值的。这个token一般是先完成登录然后返回的。之前用jmeter的时候,jmeter有很多自己的插件,比如公共参数、用户定义的变量等。当我执行完登录接口后把token给put出来,然后在用户定义的的变量处定义一个token来接收登录接口put出来的这个值。然后同一个线程的其他接口都可以用这个值了。如果是不同的线程的话要用props.put。

二、用pytest框架,token的处理

然后现在我用pytest框架也有这个问题,我刚开始思路是执行完登录接口拿到token进行return,然后其他的接口先import这个接口,然后调用登录接口可以拿到token,但是这个时候我发现我执行其他接口的时候,总是会把登录接口再执行一遍,我觉得这样不太好。

然后我就用pytest的fixture来处理这个情况。创建一个conftes文件,这个文件要和case在同一个package下,在这里边添加修饰器@pytest.fixture(),然后再此处调用登录接口,return出来token,然后其他的接口用到token的时候直接用就可以了,就不需要引用登录模块了。

三、pytest框架中header的处理

好多接口都需要header里的参数去参与生成sign,因此每个接口都需要这个header,然而header里的字段和值基本上都一样,每个接口都写一遍感觉很麻烦。刚开始我想的是也可以用fixture来处理,此刻真想吐槽我自己怎么想的。fixture这个主要是处理一些前置或者后置条件,怎么可以处理公共参数呢。

然后我就想可以定义成一个公共方法,把这些值都放进去,return一下,其他接口中import一下,然后需要用到的地方调用一下这个方法就可以了。

目前这样处理方便了很多。但不确定这样处理是否妥当。之后有结论了再来更新。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值