Robot Framework-MongoDB: ISODate

上篇也提到了这个问题,现在挤点时间出来又研究了一下。Robot Framework 在操作的过程中是传的是String,我们在decode时需要从Json String中decode datetime。

JSON-DateTime

在Github发现有人做了这些,就直接拿出来用好了,使用说明请参考JSON-DateTime

  1. 基本使用
    安装完成后,就可以直接用下边方式来调用:

    1
    2
    3
    4
    >>> import simplejson as json
    >>> a ='{"createdDate" : "Thu, 1 Mar 2012 10:00:49 UTC"}'
    >>> json.loads(a)
    {'createdDate': datetime.datetime(2012, 3, 1, 10, 0, 49)}
  2. 说明
    这种日期格式是它默认的格式,但是看起来和用起来都有点不太好,我们需要重新定义一个自己的格式,如下:

    1
    2
    3
    >>> a ='{"createdDate" : "2012-5-1 10:00:49"}'
    >>> json.loads(a, datetime_format='%Y-%m-%d %H:%M:%S')
    {'createdDate': datetime.datetime(2012, 5, 1, 10, 0, 49)}

RF集成

我们这里需要修改一下‘mongoquery.py’的引用,把import json修改成import simplejson as json
还有就是默认日期格式的修改,我们可以在‘mongoquery.py’或‘jsondatetime.py’里修改,这里因为我们本来就对‘mongoquery.py’做了修改,所以统一也在这里修改了。

1
recordJSON = json.loads(recordJSON, datetime_format='%Y-%m-%d %H:%M:%S')

  1. 引用
  2. 结果
    1
    2
    3
    4
    5
    6
    {
    "_id" : 11,
    "name" : "insert",
    "type" : "calendar",
    "createdDate" : ISODate("2012-02-03T10:00:49Z"),
    }
唐胡璐 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
分享创造价值,您的支持将鼓励我继续前行!