def get_time_from_timestamp(timestamp=None, time_format=None): """ 功能:将一个时间戳转为指定时间格式的时间,默认转为的时间格式为:%Y-%m-%d %H:%M:%S 场景1:获取当前时间,时间格式为:%Y-%m-%d %H:%M:%S get_time_from_timestamp() 场景2:获取当前时间,时间格式为:%H:%M:%S get_time_from_timestamp(time_format="%H:%M:%S") 场景3:根据指定时间戳来获取时间,时间格式为:%Y-%m-%d %H:%M:%S get_time_from_timestamp(timestamp=1569850832) :param timestamp: 待转换为时间的时间戳,默认为当前时间戳 :param time_format: 待转换成的时间格式,默认时间格式:%Y-%m-%d %H:%M:%S :return: 返回一个指定格式的时间 """ if time_format is None: time_format = _TIME_FORMAT validator.check_paramType_str(time_format) if timestamp is None: return datetime.datetime.now().strftime(time_format) validator.check_paramType_int(timestamp) local_time = time.localtime(timestamp) time_data = time.strftime(time_format, local_time) return time_data
def get_random_fixedRange_digit(start_int: int, end_int: int): ''' 功能: 指定数字范围内, 随机获取一个数字 :param start_int: 数字范围的起始值 :param end_int: 数字范围的结束值 :return: ''' validator.check_paramType_int(start_int, end_int) return random.randint(start_int, end_int)
def get_random_letterString(length=5): """ 功能:随机返回一个普通字符串,字符串可能包含:大小写字母 :param length: 字符串的长度,默认长度为5 :return: 一个字符串 """ validator.check_paramType_int(length) charset_str = string.ascii_letters return "".join(random.choice(charset_str) for _ in range(length))
def assert_actual_lt_expect(self, desc_msg, actual_value, expect_value): """ 断言方法:actual_value < expect_value :param desc_msg: 需要校验的值 :param actual_var: 实际值 :param expect_var: 期望值 """ validator.check_paramType_str(desc_msg) validator.check_paramType_int(actual_value, expect_value) with allure.step('[断言校验]实际值小于期望值:{}'.format(desc_msg)): AllureHelper.attachText("", "实际值:{}".format(actual_value)) AllureHelper.attachText("", "期望值:{}".format(expect_value)) assert expect_value < actual_value
def get_random_numberString(length=5): """ 功能:随机返回一个数字字符串 :param length: 字符串的长度,默认长度为5 :return: 一个数字字符串 """ validator.check_paramType_int(length) # TODO(dongjun): 校验length为大于0的数 digits_str = string.digits if length == 1: return random.choice(digits_str) header_str = digits_str[1:] return random.choice(header_str) + "".join(random.choice(digits_str) for _ in range(length - 1))
def get_custom_time(timestamp_offset, assigned_time=None): """ 功能:获取一个相对时间(相对于某个时间超前或滞后) 场景1:获取超前于当前时间10s的时间 get_custom_time(timestamp_offset=10) 场景2:获取滞后于当前时间10s的时间 get_custom_time(timestamp_offset=-10) 场景2:获取超前于"2019-10-01 09:09:09"时间20s的时间 get_custom_time(timestamp_offset=20, assigned_time="2019-10-01 09:09:09") :param assigned_time: 参数时间点,默认为当前时间(格式:%Y-%m-%d %H:%M:%S) :param timestamp_offset: 秒级时间戳偏移量(正整数表示超前m秒,负整数表示滞后m秒) :return: 返回一个时间,时间格式为:%Y-%m-%d %H:%M:%S """ validator.check_paramType_int(timestamp_offset) if assigned_time is None: assigned_time = TimeHelper.get_time_from_timestamp() validator.check_paramType_str(assigned_time) # TODO: 通过正则来校验参数格式为:%Y-%m-%d %H:%M:%S timestamp = TimeHelper.get_timestamp_from_time(assigned_time) new_timestamp = timestamp + timestamp_offset return TimeHelper.get_time_from_timestamp(timestamp=new_timestamp)