[英]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.