def test_step_matcher_current_matcher(): current_matcher = matchers.current_matcher for name, klass in list(matchers.matcher_mapping.items()): matchers.use_step_matcher(name) matcher = matchers.get_matcher(lambda x: -x, 'foo') assert isinstance(matcher, klass) matchers.current_matcher = current_matcher
def test_step_matcher_current_matcher(): current_matcher = matchers.current_matcher # XXX-CHECK-PY23: If list() is needed. for name, klass in list(matchers.matcher_mapping.items()): matchers.use_step_matcher(name) matcher = matchers.get_matcher(lambda x: -x, 'foo') assert isinstance(matcher, klass) matchers.current_matcher = current_matcher
from behave import then, when from behave.matchers import use_step_matcher from features.page_objects.add_new_drive import AddNewDrivePage use_step_matcher("re") @when( 'User submits "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)", "([^"]*)" and "([^"]*)"' ) def submit_add_new_drive_required_fields(context, start_location, starting_mileage, project, car, passenger, end_location, end_mileage) -> None: page = AddNewDrivePage(context.driver) page.submit_add_new_drive_required_fields(start_location, starting_mileage, project, car, passenger, end_location, end_mileage) @then('User sees a success and warning alert') def show_success_and_warning_alert(context) -> None: page = AddNewDrivePage(context.driver) page.get_success_and_warning_alert() @then('User sees an errors list') def show_all_add_drive_errors(context) -> None: page = AddNewDrivePage(context.driver) page.show_add_drive_errors()
pass import re class WithVariablesParseMatcher(ParseMatcher): def check_match(self, step): def get_value(match): env = openerp.http.request.env variable = match.group(1) value = env['test.variable'].search([('name', '=', variable)]).value return value or '' # regex pour remplacer les occurences de %variable_name% par leur valeur dans test_variable step = re.sub(r'%(\w+?)%', get_value, step) return super(WithVariablesParseMatcher, self).check_match(step) matcher_mapping['with_variable'] = WithVariablesParseMatcher use_step_matcher('with_variable') class OdooResultSaver(Reporter): features = [] def __init__(self, config): super(OdooResultSaver, self).__init__(config) self.lang_code = self.config.userdata['lang_code'] self.target_id = self.config.userdata["target_id"] self.url = self.config.userdata['base_url'] self.re = re.compile(".*@(\d+)@$") def feature(self, feature): self.features.append(feature) def end(self):