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)