遇到问题:
在运行自动化测试用例脚本的时候,单个脚本执行时,测试通过,但整体执行的时候,会出现报错。
寻找原因:
在排错的过程中,发现整体执行脚本的时候,出错的用例时间参数比预期拿到的要早半个小时。 找到时间参数的生成函数定义如下:
def time_format(now=datetime.now(), type=1):
'''
根据指定格式生成当前时间的字符串。
参数:
- now: 指定的时间点,默认为当前时间(datetime.now())。
- type: 时间格式类型,1代表年月日格式,2代表时分秒格式。
返回值:
- r_time: 根据指定类型格式化后的时间字符串。
'''
if type == 1:
r_time = now.strftime("%Y%m%d")
elif type == 2:
r_time = now.strftime("%H%M%S")
return r_time
多个脚本调用该函数时,非必传参数now
没有传参,该函数使用默认参数datetime.now()
。由于datetime.now()
本身是函数,所以仅在第一次调用时初始化,导致所有脚本生成的时间参数都是第一次调用时的时间生成的参数,导致测试脚本的时间参数错误。
解决方案:
改now
非必传参数为必传参数,在调用函数时传入所需时间。