Как записать результаты вывода в роботизированной конструкции в CSV в формате dict с использованием Python? - PullRequest
0 голосов
/ 09 октября 2019

У меня есть код фреймворка робота, который имеет несколько тестовых случаев с результатами. Теперь мне нужно сохранить эти результаты в файле JSON в парах ключ-значение, используя код Python. Как я могу это сделать?

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 или робота.

Мне нужен пример кода

1 Ответ

1 голос
/ 09 октября 2019

Прежде всего, вам даже не нужно использовать библиотеку 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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...