使用RobotFramework Mongodb库在RobotFramework中查询Mongodb的isodate/datetime
我使用Robotframework中的Robotframework MongoDB库,使用python3.7(通过pip3安装的rf版本3.1.2)自动化一些MongoDB测试。我已经设法让RF连接到Mongodb并运行了一些基本测试,如:使用RobotFramework Mongodb库在RobotFramework中查询Mongodb的isodate/datetime,mongodb,datetime,robotframework,isodate,Mongodb,Datetime,Robotframework,Isodate,我使用Robotframework中的Robotframework MongoDB库,使用python3.7(通过pip3安装的rf版本3.1.2)自动化一些MongoDB测试。我已经设法让RF连接到Mongodb并运行了一些基本测试,如: Connect To MongoDB ${MDBHost} ${MDBPort} @{allCollections} Get MongoDB Collections mydbname Log Many @{allCollections}
Connect To MongoDB ${MDBHost} ${MDBPort}
@{allCollections} Get MongoDB Collections mydbname
Log Many @{allCollections}
但是,我需要根据如下日期进行一些查询
${all_results} Retrieve Some MongoDB Records ivoox impressionsByProgram {"d" : ISODate("2019-09-30T22:00:00.000Z")}
这将导致“JSONDecodeError:期望值:第1行第8列(字符7)”。为了寻找答案,蒙古图书馆似乎在使用PyMongo,我需要使用datetime而不是Isodate,但我得到了相同的错误:
${all_results} Retrieve Some MongoDB Records ivoox impressionsByProgram {"d" : datetime(2019,30,1)}
JSONDecodeError:应为值:第1行第8列(字符7)
进一步的搜索指出我是否安装了Bson,但我已经验证了我是否按照正确的顺序安装了模块,在这两种情况下,首先是Bson,然后是通过pip3安装的PyMongo
蒙古图书馆也使用pip3安装
有什么想法吗?快速浏览代码会发现不支持BSON date所需的类型转换。该库似乎几乎没有维护,而且似乎是个人多年前添加的一项小工作。将呈现的JSON转换为底层驱动程序的有效“Python”表达式的正确方法是使用pymongo发行版中的模块。你可以自己修补它。@NeilLunn,这个库在年被分叉并更新为python3,但基本上就是这个库。它是RobotFramework中处理Mongo的“官方”库,这就是我使用它的原因。不幸的是,我不擅长python来修补库;射频测试不需要很高的编码技能