接口自动化之测试数据动态生成并替换

目录

测试数据

1. 随机库random

2. Faker库

3. 应用到项目中


测试数据

1. 随机库random

查看内置random方法,该方法自行学习,不再介绍。

show

2. Faker库

pip install faker

show

3. 应用到项目中

3.1 思路
在用例数据中添加标志位,设计这个标志位为

{{特殊的变量名}}

例如生成手机号码的标志位为

{{ phone_number }}

什么字段里有可能有这个标志

  • request_data
  • sql
  • url
  • header
  • expected

检查用例数据,如果出现了标志则动态生成对应数据并替换

3.2 用例数据修改

def replace_dependent_parameter(self, jst):
        """
        替换字符串中的关联参数,并返回转化后的字典格式。
        Args:
            jst: 包含接口参数的字符串
        Returns:转换后的字典或原始字符串
        """
        if not jst:
            return jst
        jst = json.dumps(jst) if isinstance(jst, (dict, list)) else jst
        # 替换
        while self.PATTERN.search(jst):
            key = self.PATTERN.search(jst).group()
            # 字符串替换
            if key in self.dependence.keys():
                jst = jst.replace(key, str(self.get_dependent_value(key)))
                logger.my_log(f"key:{key},替换成功:{self.get_dependent_value(key)}")
            else:
                logger.my_log(f"key:{key},在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常\n")
                break
                jst = jst.replace("True", "true").replace("False", "false")
        if self.pattern.search(jst):
            try:
                jst = json.loads(jst)
            except json.JSONDecodeError as e:
                logger.my_log(f"JSONDecodeError:{jst}:{e}")
 
        return jst

🎁更多干货


完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值