四时宝库

程序员的知识宝库

python 请求参数数据随机化(python怎么写随机数)

# -*- coding:utf-8 -*-
import random
import string


class RequestDataProcessing(object):
    # 接口请求参数随机生成新数据,解析传入的字典,把每个字段随机生成新的数据
    def __init__(self):
        self.__reqDicData = {}

    def setReqDicData(self, data):
        if isinstance(data, dict):
            self.__reqDicData = data
        else:
            self.__reqDicData = {}

    def getReqDicData(self):
        return self.__reqDicData

    def randomGenerationReqDicData(self, data):
        # 处理字典数据的生成,传入模板字典,自动为每个字段随机生成新的数据
        reqDicData = None
        if isinstance(data, list):
            self.randomGenerationReqListData(data)
        if isinstance(data, dict):
            reqDicData = data
            for key in data.keys():
                value = data.get(key)
                if isinstance(value, dict):
                    reqDicData[key] = self.randomGenerationReqDicData(value)
                if isinstance(value, list):
                    reqDicData[key] = self.randomGenerationReqListData(value)
                if isinstance(value, str):
                    reqDicData[key] = self.randomGenerationString(len(value), value=value)
                if isinstance(value, int):
                    reqDicData[key] = self.randomGenerationInteger(len(str(value)), value=value)
                if isinstance(value, long):
                    reqDicData[key] = self.randomGenerationLong(len(str(value)), value=value)
        return reqDicData

    def randomGenerationReqListData(self, data):
        # 处理列表数据的生成,传入模板列表,自动为每个字段随机生成新的数据
        reqListData = None
        if isinstance(data, dict):
            self.randomGenerationReqDicData(data)
        if isinstance(data, list):
            reqListData = data
            for value in reqListData:
                index = reqListData.index(value)
                if isinstance(value, dict):
                    reqListData[index] = self.randomGenerationReqDicData(value)
                if isinstance(value, str):
                    reqListData[index] = self.randomGenerationString(len(value), value=value)
                if isinstance(value, int):
                    reqListData[index] = self.randomGenerationInteger(len(str(value)), value=value)
                if isinstance(value, long):
                    reqListData[index] = self.randomGenerationLong(len(str(value)), value=value)
        return reqListData

    @staticmethod
    def randomGenerationString(number, value=None):
        # 生成随机字符串(从a-zA-Z0-9)
        if value is None:
            return ''.join(random.sample(string.ascii_letters + string.digits, int(number)))
        if isinstance(value, str):
            return ''.join(random.sample(string.ascii_letters + string.digits, int(number)))

    @staticmethod
    def randomGenerationSpecialCharacters(number, value=None):
        # 生成随机特殊字符
        alphabet = '!@#$%^&*()!@#$%^&*()!@#$%^&*()'
        if value is None:
            return ''.join(random.sample(alphabet, int(number)))
        if isinstance(value, str):
            return ''.join(random.sample(alphabet, int(number)))

    @staticmethod
    def randomGenerationLong(number, value=None):
        # 生成随机整型字符
        alphabet = '12345678901234567890123456789'
        if value is None:
            return long(''.join(random.sample(alphabet, int(number))))
        if isinstance(value, long):
            return long(''.join(random.sample(alphabet, int(number))))

    @staticmethod
    def randomGenerationInteger(number, value=None):
        # 生成随机整型字符
        alphabet = '12345678901234567890123456789'
        if value is None:
            return int(''.join(random.sample(alphabet, int(number))))
        if isinstance(value, int):
            return int(''.join(random.sample(alphabet, int(number))))

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接