如何使用 python 将 robotframework 中的输出结果写入 dict 格式的 csv?
How to write the results from output in robotframework to csv in dict format using python?
我有一个机器人框架代码,其中有多个测试用例和结果。现在我需要使用 python 代码将这些结果以键值对的形式存储在 JSON 文件中。我该怎么做?
Pythoncode.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}
输出:
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源文件写入文件,您可以执行以下操作:
Pythoncode.py:
import json
def writeJson(data):
with open("data_file.json", "w") as write_file:
json.dump(data, write_file)
main.robot:
*** 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
。输出:
{"FirstTestResults": "PASS", "SecondTestResult": "FAIL"}
我有一个机器人框架代码,其中有多个测试用例和结果。现在我需要使用 python 代码将这些结果以键值对的形式存储在 JSON 文件中。我该怎么做?
Pythoncode.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}
输出: 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源文件写入文件,您可以执行以下操作:
Pythoncode.py:
import json
def writeJson(data):
with open("data_file.json", "w") as write_file:
json.dump(data, write_file)
main.robot:
*** 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
。输出:
{"FirstTestResults": "PASS", "SecondTestResult": "FAIL"}