繁体   English   中英

如何使用 python 将机器人框架中 output 的结果写入 dict 格式的 csv?

[英]How to write the results from output in robotframework to csv in dict format using python?

我有一个机器人框架代码,它有多个带有结果的测试用例。 现在我需要使用 python 代码将这些结果存储在键值对中的 JSON 文件中。 我该怎么做?

Python代码.py

def writeJson(data):
    with open("data_file.json", "w") as write_file:
       json.dump(data, write_file)


Robot Code.robot


  TC1
   ${output}=    TC1test
   ${dict1}=    Set Variable     ${output}
   ${value_cnt}=    Get Length    ${dict1}
   ${var}=    set variable    ${dict1}

   TC2
   ${output}=   TC2test
    ${dict3}=    set variable    ${output}
   ${cnt}=    Get Length    ${dict3}
   ${var}=    set variable    ${dict3}
         : FOR    ${item}    IN RANGE   0    ${cnt}
         \    ${var2}=    Set Variable     ${var['value']} 

   write data
   ${json} =      writeJson         ${var1}   \n  ${var2}

Output: datafile.json 只打印一个值

我需要帮助编码部分如何使用 python 或机器人框架代码来做到这一点。

我需要一些示例代码

首先,您甚至不需要使用 python 库来实现这一点。 你可以运行类似的东西:

*** Settings ***
Library  Collections
Library  json
Library  OperatingSystem

*** Test Cases ***
Write data
   &{TESTS_DICT}=  Create Dictionary  FirstTestResults=PASS  SecondTestResult=FAIL
   ${JSON_CONTENT}=  json.dumps  ${TESTS_DICT}
   Create File  ${CURDIR}/data_file.json  content=${JSON_CONTENT}

如果要使用自己的 Python 源文件写入文件,可以执行以下操作:

Python代码.py:

import json

def writeJson(data):
    with open("data_file.json", "w") as write_file:
       json.dump(data, write_file)

主机器人:

*** Settings ***
Library  Pythoncode.py
Library  Collections

*** Test Cases ***
Write data
   &{TESTS_DICT}=  Create Dictionary  FirstTestResults=PASS  SecondTestResult=FAIL
   WriteJson         ${TESTS_DICT}

在任一示例中运行main.robot将创建一个 json 文件data_file.json包含两个键值对。 Output:

{"FirstTestResults": "PASS", "SecondTestResult": "FAIL"}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM