Beispiel #1
0
def _build_rf_suite(datasources, settings, tests):
    parent_suite = TestSuite(datasources[0])
    rf_test_to_actual = {}
    current_suite = parent_suite
    for actual_test, module_name in tests:
        if current_suite.name != module_name:
            current_suite = parent_suite.suites.create()
            current_suite.name = module_name
        rf_test = current_suite.tests.create()
        rf_test.name = actual_test.__name__
        rf_test.tags = actual_test.tags
        rf_test_to_actual[rf_test] = actual_test
    parent_suite.configure(**settings.suite_config)
    return rf_test_to_actual, parent_suite
create_case_step(suite, suite_steps)

for case in testcases:
    test_case_name = case.get('name')
    tags = case.get('tags')
    steps = case.get('steps')
    assertions = case.get('assertions')

    # test = suite.tests.create(test_case_name, tags=tags)
    test = suite.tests.create(test_case_name, tags=tags)
    # test.keywords.create('test_builtin_keyword')
    create_case_step(test, steps)
    create_assertion_step(test, assertions)

path = "reports"
apiname = 'skynet'
options = {
    "output": "{}-output.xml".format(apiname),
    "log": "{}-log.html".format(apiname),
    "report": "{}-reporter.html".format(apiname),
    "outputdir": path,
    # "include": ['CI']
    # "exclude": ['SMOKE']
}
settings = RobotSettings(options)
suite.configure(**settings.suite_config)
result = suite.run(settings, critical='smoke')

ResultWriter(settings.output if settings.log else result).write_results(
    report=settings.report, log=settings.log)