Python UI测试时间控件日期选择方法

 税务申报按月按季度申报选择。

def getdatetime(isdatetime, israndom, ismonthor):
    """
    根据传入的申报月份,返回申报属期内的不同日期
    1.当israndom值为1取申报属期第一天,值为2取申报属期最后一天,值为3取申报属期随机一天
    2.当ismonthor值为1按月取,值为2按季取
    3.当isdatetime传入的年月(支持两种格式2018-07或201807),当为1时,取系统当前时间判断返回日期
    """
    if isdatetime != "1":
        year = int(isdatetime[0:4])
        month = int(isdatetime[-2:])
    else:
        d = datetime.now()
        # 获取当前年
        year = d.year
        # 获取当前月
        month = d.month
    if month == 1:
        month = 12
        year -= 1
    else:
        month -= 1
    days = calendar.monthrange(year, month)[1]
    if israndom == "1" and ismonthor == "1":
        return (datetime(year, month, 1)).strftime('%Y-%m-%d')
    elif israndom == "2" and ismonthor == "1":
        return (datetime(year, month, days)).strftime('%Y-%m-%d')
    elif israndom == "3" and ismonthor == "1":
        return (datetime(year, month, 1) + timedelta(days=random.randint(0, days - 1))).strftime('%Y-%m-%d')
    elif israndom == "1" and ismonthor == "2":
        if month == 11 or month == 10 or month == 9:
            return (datetime(year, 7, 1)).strftime('%Y-%m-%d')
        elif month == 8 or month == 7 or month == 6:
            return (datetime(year, 4, 1)).strftime('%Y-%m-%d')
        elif month == 5 or month == 4 or month == 3:
            return (datetime(year, 1, 1)).strftime('%Y-%m-%d')
        elif month == 2 or month == 1 or month == 12:
            return (datetime(year, 10, 1)).strftime('%Y-%m-%d')
    elif israndom == "2" and ismonthor == "2":
        if month == 11 or month == 10 or month == 9:
            return (datetime(year, 9, calendar.monthrange(year, 9)[1])).strftime('%Y-%m-%d')
        elif month == 8 or month == 7 or month == 6:
            return (datetime(year, 6, calendar.monthrange(year, 6)[1])).strftime('%Y-%m-%d')
        elif month == 5 or month == 4 or month == 3:
            return (datetime(year, 3, calendar.monthrange(year, 3)[1])).strftime('%Y-%m-%d')
        elif month == 2 or month == 1 or month == 12:
            return (datetime(year, 12, calendar.monthrange(year, 12)[1])).strftime('%Y-%m-%d')

 

你可能感兴趣的:(自动化测试)