繁体   English   中英

通过机器人创建机器人框架测试用例 API

[英]Robot Framework Test Cases creation via robot API

我已经能够通过 robot.api.TestSuite class 以编程方式创建包含多个测试用例的测试套件。我已经能够成功执行它并生成报告。 我缺少的是生成实际测试用例文件 in.robot 扩展名的选项,而不是在我的程序停止时“丢失它”。 有什么选择可以实现这一目标吗?

我看过官方 ( https://robot-framework.readthedocs.io/en/v3.1.1/index.html ) 但我没有找到解决问题的方法。 有什么我想念的吗?

我认为机器人API不支持任何此类功能。 您必须创建自己的函数才能将内存中的测试套件转换为文件。

Robot Framework 4 有一个API允许创建 model,这是在解析 a.robot 文件时获得的:

from robot.parsing.lexer.tokens import Token
from robot.parsing.model.blocks import File, TestCase, TestCaseSection
from robot.parsing.model.statements import SectionHeader, TestCaseName, KeywordCall

test_cases = TestCaseSection(
    header=SectionHeader.from_params(Token.TESTCASE_HEADER),
    body=[
        TestCase(
            header=TestCaseName.from_params("Testing 1,2,3"),
            body=[
                KeywordCall.from_params('Log To Console', args=('Dynamically generated test',)),
            ]
        )
    ]
)

sections = [test_cases]
model = File(sections, 'testsuite.robot')

从 model 生成测试套件并执行它很容易:

from robot.api import TestSuite

suite = TestSuite.from_model(model)
suite.run()

当然model也可以写成.robot文件:

model.save()

暂无
暂无

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

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