【问题标题】:asserting and verifying date format DD-MM-YYYY in python selenium在 python selenium 中断言和验证日期格式 DD-MM-YYYY
【发布时间】:2020-04-03 15:14:12
【问题描述】:

我正在尝试使用 python selenium 自动化,任务是

(1)。验证是否显示日期

(2)。如果显示 - 打印该日期

(3)。最后断言并验证显示的日期是否是预期的正确格式(即 DD-MM-YYYY。

有时我们发现提交表单后,添加的字段标签日期显示格式为 MM-DD-YYYY 但根据要求应为 DD-MM-YYYY,因此我们决定自动化此测试,以便一次提交我们要检查以上 3 点,我已经编写了以下代码,我能够解决第 1 点和第 2 点,但在第 3 点遇到困难

'step 1':我已经识别出元素'xpath 并将其存储在名为'element'的变量中

“第 2 步”:我使用了长度为“len”函数的“If 语句” - 作为验证日期是否存在/显示的模式

'step 3':如果显示成功则打印日期

'第 4 步':最后,如何验证显示的日期是否符合我们预期的格式

以下代码我已编写/附上截图以供参考

    element = driver.find_element_by_xpath('//*@id="incDetailTab"]/div[2]/div/div/div/div[2]/div/div/p[7]/strong')
    assert driver.find_element_by_xpath('//*@id="incDetailTab"]/div[2]/div/div/div/div[2]/div/div/p[7]/strong')

    if (len(element.text) == 0):
        print("Yes")
    else:
        print("No")

    print(element.text)

【问题讨论】:

    标签: python selenium date xpath automation


    【解决方案1】:

    我假设您有使用 element.text 的日期字符串。但是您可以尝试以下函数来检查日期格式。

    import datetime
    
    def checkvaliddateformat(datestr):
    
      day,month,year = datestr.split('-')
      isValidDate = True
      try :
           datetime.datetime(int(year),int(month),int(day))
      except ValueError :
           isValidDate = False
    
      if(isValidDate) :
          print ("date is valid format(DD-MM-YYY) : "+datestr)
      else :
          print ("date is not valid format(DD-MM-YYY) : " +datestr)
    
    checkvaliddateformat('30-12-2020')
    checkvaliddateformat('12-30-2020')
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      XPath 解决方案:

      substring(//*@id="incDetailTab"]/div[2]/div/div/div/div[2]/div/div/p[7]/strong/@style,1,2)<=31 and substring(//*@id="incDetailTab"]/div[2]/div/div/div/div[2]/div/div/p[7]/strong/@style,4,2)<=12 and string-length(substring(//*@id="incDetailTab"]/div[2]/div/div/div/div[2]/div/div/p[7]/strong/@style,7,4))=4
      

      如果日期显示正确,则返回 true。检查日、月和年的范围。 不是一个完美的解决方案,因为此表达式假定“11.10.2018”以正确的格式显示,而它可能不是 (MM.DD.YYYY)。

      【讨论】:

        猜你喜欢
        • 2017-04-07
        • 2014-01-18
        • 2022-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 2016-01-26
        相关资源
        最近更新 更多