def assert_multi_selected(step, select_name): with AssertContextManager(step): # Ensure its not selected unless its one of our options option_names = step.multiline.split('\n') select_box = find_field(world.browser, 'select', select_name) option_elems = select_box.find_elements_by_xpath('./option') for option in option_elems: if option.get_attribute('id') in option_names or \ option.get_attribute('name') in option_names or \ option.get_attribute('value') in option_names or \ option.text in option_names: assert_true(step, option.is_selected()) else: assert_true(step, not option.is_selected())
def select_multi_items(step, select_name): with AssertContextManager(step): # Ensure only the options selected are actually selected option_names = step.multiline.split('\n') select_box = find_field(world.browser, 'select', select_name) select = Select(select_box) select.deselect_all() for option in option_names: try: select.select_by_value(option) except NoSuchElementException: select.select_by_visible_text(option)
def assert_radio_not_selected(step, value): box = find_field(world.browser, 'radio', value) assert_true(step, not box.is_selected())
def choose_radio(step, value): with AssertContextManager(step): box = find_field(world.browser, 'radio', value) box.select()
def assert_not_checked_checkbox(step, value): check_box = find_field(world.browser, 'checkbox', value) assert_true(step, not check_box.is_selected())
def uncheck_checkbox(step, value): with AssertContextManager(step): check_box = find_field(world.browser, 'checkbox', value) if check_box.is_selected(): check_box.click()
def focus_and_press_key(step, field_name, key): with AssertContextManager(step): text_field = find_field(world.browser, 'text', field_name) or \ find_field(world.browser, 'textarea', field_name) or \ find_field(world.browser, 'password', field_name) or \ find_field(world.browser, 'datetime', field_name) or \ find_field(world.browser, 'datetime-local', field_name) or \ find_field(world.browser, 'date', field_name) or \ find_field(world.browser, 'month', field_name) or \ find_field(world.browser, 'time', field_name) or \ find_field(world.browser, 'week', field_name) or \ find_field(world.browser, 'number', field_name) or \ find_field(world.browser, 'range', field_name) or \ find_field(world.browser, 'email', field_name) or \ find_field(world.browser, 'url', field_name) or \ find_field(world.browser, 'search', field_name) or \ find_field(world.browser, 'tel', field_name) or \ find_field(world.browser, 'color', field_name) assert_false(step, text_field is False,'Can not find a field named "%s"' % field_name) text_field.send_keys(getattr(Keys, key))
def fill_in_textfield(step, field_name, value): with AssertContextManager(step): text_field = find_field(world.browser, 'text', field_name) or \ find_field(world.browser, 'textarea', field_name) or \ find_field(world.browser, 'password', field_name) or \ find_field(world.browser, 'datetime', field_name) or \ find_field(world.browser, 'datetime-local', field_name) or \ find_field(world.browser, 'date', field_name) or \ find_field(world.browser, 'month', field_name) or \ find_field(world.browser, 'time', field_name) or \ find_field(world.browser, 'week', field_name) or \ find_field(world.browser, 'number', field_name) or \ find_field(world.browser, 'range', field_name) or \ find_field(world.browser, 'email', field_name) or \ find_field(world.browser, 'url', field_name) or \ find_field(world.browser, 'search', field_name) or \ find_field(world.browser, 'tel', field_name) or \ find_field(world.browser, 'color', field_name) assert_false(step, text_field is False,'Can not find a field named "%s"' % field_name) text_field.clear() text_field.send_keys(value)
def focus_and_press_key(step, field_name, key): with AssertContextManager(step): text_field = find_field(world.browser, 'text', field_name) or \ find_field(world.browser, 'textarea', field_name) or \ find_field(world.browser, 'password', field_name) or \ find_field(world.browser, 'datetime', field_name) or \ find_field(world.browser, 'datetime-local', field_name) or \ find_field(world.browser, 'date', field_name) or \ find_field(world.browser, 'month', field_name) or \ find_field(world.browser, 'time', field_name) or \ find_field(world.browser, 'week', field_name) or \ find_field(world.browser, 'number', field_name) or \ find_field(world.browser, 'range', field_name) or \ find_field(world.browser, 'email', field_name) or \ find_field(world.browser, 'url', field_name) or \ find_field(world.browser, 'search', field_name) or \ find_field(world.browser, 'tel', field_name) or \ find_field(world.browser, 'color', field_name) assert_false(step, text_field is False, 'Can not find a field named "%s"' % field_name) text_field.send_keys(getattr(Keys, key))
def fill_in_textfield(step, field_name, value): with AssertContextManager(step): text_field = find_field(world.browser, 'text', field_name) or \ find_field(world.browser, 'textarea', field_name) or \ find_field(world.browser, 'password', field_name) or \ find_field(world.browser, 'datetime', field_name) or \ find_field(world.browser, 'datetime-local', field_name) or \ find_field(world.browser, 'date', field_name) or \ find_field(world.browser, 'month', field_name) or \ find_field(world.browser, 'time', field_name) or \ find_field(world.browser, 'week', field_name) or \ find_field(world.browser, 'number', field_name) or \ find_field(world.browser, 'range', field_name) or \ find_field(world.browser, 'email', field_name) or \ find_field(world.browser, 'url', field_name) or \ find_field(world.browser, 'search', field_name) or \ find_field(world.browser, 'tel', field_name) or \ find_field(world.browser, 'color', field_name) assert_false(step, text_field is False, 'Can not find a field named "%s"' % field_name) text_field.clear() text_field.send_keys(value)