Есть ли способ конвертировать текстовые файлы Ride .Robot в Python Robot.api Code? - PullRequest
0 голосов
/ 09 апреля 2020

Я знаю, что RIDE запускает файлы .robot и преобразует текст в вызовы Python robot.api. Я пытаюсь увидеть, как что-то в поездке преобразуется в то, как оно вызывается в robot.api

Есть ли способ узнать, как Ride использует вызовы Robot.Api при запуске Test Suite в поездке?

Пример для уточнения:

.Robot файл в Ride:

*** Settings ***
Library           DateTime

*** Test Case ***
A_Test_Case
Should Be Equal    1    1

То же, что:

Python Robot.api:

from robot.api import TestSuite

suite = TestSuite(name='Test_Suite')
suite.resource.imports.library('DateTime')
testcase = suite.tests.create('Test_Case')
testcase.keywords.create('Should Be Equal', args=[1, 1])

Мне нужно знать, есть ли способ узнать, как файл .robot преобразуется в его python аналог.

1 Ответ

2 голосов
/ 09 апреля 2020

Есть ли способ узнать, как Ride использует вызовы Robot.Api при запуске Test Suite в поездке?

Это не совсем так, как вы думаете. Нет момента, когда робот преобразует первый блок кода в вашем вопросе во второй блок кода.

Мне нужно знать, есть ли способ увидеть, как файл .robot преобразуется в его python аналог.

Это открытый код, так что вы можете просто копайся в коде и смотри вокруг. Начать нужно с модуля src / robot / parsing . Имейте в виду, что то, что вы ищете, не существует в формате, который вы, вероятно, хотите увидеть.

Вместо преобразования текста робота в сценарий python модуль robot.parsing.parser выполняет токенизацию данных через robot.parsing.lexer , а затем преобразует данные в различные внутренние модели. Не существует промежуточного шага, на котором он выводит python код.

На github есть выпуск для работы, которая пошла на создание нового парсера. Из этой проблемы вы можете увидеть коммиты для нового лексера и всех других частей процесса синтаксического анализа по мере его развития.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...