python - 机器人框架如何获取不同国家的不同时区和区域设置?

标签 python robotframework

在robot框架中,当前支持获取时区的关键字是:

${month}  Get Current Date  result_format=%B%Y

回归日期:2017 年 7 月

问题是如何从其他国家和地区获取当前日期? 例如,在越南应返回:Tháng Bảy 2017 泰国应该返回:กรกฎาคม พ.ศ. 2560

最佳答案

不幸的是,Python 对于当前区域以外的区域设置中的日期格式化没有良好的内置支持。您可以暂时切换区域设置,但这不是一个很好的解决方案。

您可以使用Babel包来格式化日期,尽管它没有提供与您期望的完全相同的值——情况略有不同。

例如,您可以创建一个包含月份、年份和区域设置日期的关键字,并返回格式化版本。

首先,创建一个名为 CustomKeywords.py 的 Python 文件,其中包含以下内容:

# CustomKeywords.py
import datetime
from babel.dates import format_date

class CustomKeywords:
    def get_date_for_locale(self, locale, year, month=1, day=1):
        d = datetime.date(int(year), int(month), int(day))
        return format_date(d, "MMMM Y", locale=locale)

接下来,将此库导入到您的测试用例中,然后调用获取区域设置的日期以获取给定区域设置的日期:

*** Settings ***
Library  CustomKeywords.py

*** Test Case ***
Vietnamese
    ${date}=  get date for locale  vi_VN  2017  7
    Should be equal  ${date}  tháng bảy 2017

Thailand
    ${date}=  get date for locale  th_TH  2017  7
    Should be equal  ${date}  กรกฎาคม 2017

关于python - 机器人框架如何获取不同国家的不同时区和区域设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44938751/

相关文章:

Python 模块 : how to keep private symbol table private?

Jinja2 中的 Python lambda

python - 如何在 robotframework 库中使用 selenium webdriver 方法?

robotframework - 升级 Python 和 Robot 框架版本后出现变量访问错误

python - Xpath提取多个节点之间的所有文本?

java - 使用 JJWT 从 Xero 解析 RS256 JWT

python - 使用服务帐户时出现 Google Calendar API HttpError 404

testing - 机器人框架: exception handling

robotframework - 如何使用robotframework点击隐藏链接

jenkins - 无法从 Jenkins 日志中打开机器人框架工作日志文件。抛出 'Allow-Script' 权限错误