Robotframework 通过robot框架循环mongodb中的文档
我已经导入了Robotframework 通过robot框架循环mongodb中的文档,robotframework,Robotframework,我已经导入了MongoDBLibrary,我们可以使用下面的关键字在Robot框架中从MongoDB检索数据 Retrieve All Mongodb Records Retrieve Mongodb Records With Desired Fields Retrieve Some Mongodb Records 在使用上述关键字之一获得记录之后,我想遍历文档并进行一些验证 我的问题如下 ${result}=检索具有所需字段${MDBName}{MDBCollection}${mQuery}
MongoDBLibrary
,我们可以使用下面的关键字在Robot框架中从MongoDB检索数据
Retrieve All Mongodb Records
Retrieve Mongodb Records With Desired Fields
Retrieve Some Mongodb Records
在使用上述关键字之一获得记录之后,我想遍历文档并进行一些验证
我的问题如下
${result}=检索具有所需字段${MDBName}{MDBCollection}${mQuery}${mRFields}${misReturnID}的Mongodb记录
示例输出将为:${result}包含
[(u'profileDetails',{u'basicDetails':{u'customerCode':u'C037799'})][(u'profileDetails',{u'basicDetails':{u'customerCode':u'c00092'})]
在上述结果中-
[(u'profileDetails',{u'basicDetails':{u'customerCode:u'C037799'})]
是第一条记录
[(u'profileDetails',{u'basicDetails':{u'customerCode':u'c00092'})]
是第二条记录
我想把上面的结果
分成一个列表
我试图将结果
捕获为列表
,它给出了一个错误
无法设置变量“@{result}”:应为类似列表的值,获取字符串
如何遍历文档/记录是一个结果。由于返回的值是字符串格式的,因此我尝试了下面的代码片段来处理结果字符串以获得列表
*** Settings ***
Library String
Library Collections
*** Variables ***
${result} [(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037799'}})][(u'profileDetails', {u'basicDetails': {u'customerCode': u'C000092'}})]
*** Test Cases ***
Manipulate String and convert to list
${result1}= Replace String ${result} ][ ]],[[
@{res_list}= Split String ${result1} ],[
Remove Values from list ${res_list} ${EMPTY}
Log To Console ${res_list}
##Output : ["[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037799'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C000092'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037855'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037784'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037642'}})]"]
感谢Sarada改进了答案,使之适合您的用例 因为返回的值是字符串格式,所以我尝试了下面的代码片段来操作结果字符串以获得列表
*** Settings ***
Library String
Library Collections
*** Variables ***
${result} [(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037799'}})][(u'profileDetails', {u'basicDetails': {u'customerCode': u'C000092'}})]
*** Test Cases ***
Manipulate String and convert to list
${result1}= Replace String ${result} ][ ]],[[
@{res_list}= Split String ${result1} ],[
Remove Values from list ${res_list} ${EMPTY}
Log To Console ${res_list}
##Output : ["[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037799'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C000092'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037855'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037784'}})]", "[(u'profileDetails', {u'basicDetails': {u'customerCode': u'C037642'}})]"]
感谢Sarada改进了答案,使之适合您的用例 *设置*
库字符串
图书馆藏书
*变量*
${result}[(u'profileDetails',{u'basicDetails':{u'customerCode:u'C037799'})][(u'profileDetails',{u'basicDetails':{u'customerCode:u'c00092'}]
*测试用例*
操纵字符串并转换为列表
${result}评估[在$result中为x列出(x)]
日志${result}*设置*
库字符串
图书馆藏书
*变量*
${result}[(u'profileDetails',{u'basicDetails':{u'customerCode:u'C037799'})][(u'profileDetails',{u'basicDetails':{u'customerCode:u'c00092'}]
*测试用例*
操纵字符串并转换为列表
${result}评估[在$result中为x列出(x)]
Log${result}你能告诉我“${result}”变量中存储了什么值吗?你好,阿卡什,
${result}
的值是[(u'profileDetails',{u'basicDetails':{u'customerCode':u'C037799'})][(u'profileDetails',{u'basicDetails':{u'customerCode u'c00092'}]/code>以及你应该如何修改结果(列表)看起来像?或者像逗号分隔的`[(u'profileDetails',{u'basicDetails':{u'customerCode':u'C037799'}]),[(u'profileDetails',{u'basicDetails':{u'customerCode':u'c00092'}]),然后我可以对每个记录和进程进行分析,我认为下面的代码应该会有所帮助。如果你想保留方括号,你可以用“]”替换它们,然后用拆分。你能告诉我“${result}”变量中存储了什么值吗?嗨,阿卡什,${result}
的值是[(u'profileDetails',{u'basicDetails':{u'customerCode:u'C037799'})][(u'profileDetails',{u'basicDetails':{u'customerCode':u'C000092'}})
以及修改后的结果(列表)应该是什么样子?可以是逗号分隔的。`[(u'profileDetails',{u'basicDetails':{u'customerCode':u'C037799'}],[(u'profileDetails',{u'basicDetails':{u'customerCode':u'C000092'}]'然后我可以使用每个记录和进程,我认为下面的代码应该会有所帮助。如果您想保留方括号,可以用“]”替换它们,然后用拆分。嗨,waman,这不起作用,因为在数组中的一些输入中[…]
也不仅仅在开始和结束时出现。这些记录是否有特定的格式?这样我们就可以基于模式操纵它们。hi waman,我找到了解决方案,根据我的结果如何,稍微改变一下您的逻辑。我可以编辑您的答案吗?hi waman,这不起作用,因为在数组中的一些输入中[..]
不仅在开头和结尾都有。这些记录是否有特定的格式?这样我们就可以根据模式操作它们。Hi waman,我找到了解决方案,根据我的结果,稍微改变一下你的逻辑。我可以编辑你的答案吗?你可以添加一些解释来澄清你的答案吗?你可以添加s吗一些解释来澄清你的答案。