有没有办法转换 Ride .机器人 txt 文件到 Python Robot.api 代码?

Is there a way to convert Ride .Robot txt files to Python Robot.api Code?

提问人:Michael Crowley 提问时间:4/10/2020 最后编辑:Sadman Muhib SamyoMichael Crowley 更新时间:4/16/2020 访问量:168

问:

我知道 RIDE 运行 .robot 文件并将 txt 转换为 Python robot.api 调用。我正在尝试查看 ride 中的某些内容如何转换为它在 robot.api 中的调用方式

有没有办法查看 Ride 在 ride 中运行测试套件时如何使用 Robot.Api 调用?

澄清示例:

.Ride 中的机器人文件:

*** Settings ***
Library           DateTime

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

等同于:

Python 机器人.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 对应文件。

蟒蛇 骑行

评论


答:

2赞 Bryan Oakley 4/10/2020 #1

有没有办法查看 Ride 在 ride 中运行测试套件时如何使用 Robot.Api 调用?

它并不像你想象的那样工作。机器人将问题中的第一个代码块转换为第二个代码块的时间点是没有时间点的。

我需要知道是否有办法查看 .robot 文件如何转换为它的 python 对应文件。

它是开源的,所以你可以深入研究代码并环顾四周。首先在 src/robot/parsing 模块中。请注意,您要查找的内容并不以您可能想要看到的格式存在。

robot.parsing.parser 模块不是将机器人文本转换为 python 脚本,而是通过 robot.parsing.lexer 对数据进行标记化,然后将数据转换为各种内部模型。没有输出 python 代码的中间步骤。

在 github 上是创建新解析器的工作的一个问题。从该问题中,您可以看到新词法分析器的提交以及解析过程的所有其他部分。

评论

0赞 Michael Crowley 4/11/2020
这确实回答了这个问题,因为这似乎是不可能的。但是,在浏览开源和文档之间,我能够找到我想要的东西。编写一个 .robot 文件并将其转换为 python 会容易得多,但我通过文档和代码学到了很多东西,看看它是如何转换的。