问题
I am pretty new to robot framework. I would like to create test cases dynamically without having a input key-value driven approach.
Found some material that suggested the following:
suite = TestSuite('Example suite', doc='...')
tc = TestCase('Example test')
tc.add_step(TestStep('Log', args=['Hello, world!'])
suite.add_test(tc)
I dont see add_step in test case class, Will continue to look around and see if there are any solutions.
回答1:
The TestSuite
object has a keywords
attribute which itself has a create
method which can be used to create new keywords.
The robot framework api documentation gives this example:
from robot.api import TestSuite
suite = TestSuite('Activate Skynet')
suite.resource.imports.library('OperatingSystem')
test = suite.tests.create('Should Activate Skynet', tags=['smoke'])
test.keywords.create('Set Environment Variable', args=['SKYNET', 'activated'], type='setup')
test.keywords.create('Environment Variable Should Be Set', args=['SKYNET'])
The above gives you the same test as if you had written it like this:
*** Settings ***
Library OperatingSystem
*** Test Cases ***
Should Activate Skynet
[Tags] smoke
[Setup] Set Environment Variable SKYNET activated
Environment Variable Should Be Set SKYNET
来源:https://stackoverflow.com/questions/44876885/robot-framework-is-there-a-way-to-write-dynamic-test-cases