def test_mouse_hover(self, bokeh_model_page): text_input = AutocompleteInput(title="title", css_classes=["foo"], completions = ["100001", "12344556", "12344557", "3194567289", "209374209374"]) page = bokeh_model_page(text_input) el = page.driver.find_element_by_css_selector('.foo .bk-menu') assert 'display: none;' in el.get_attribute('style') el = page.driver.find_element_by_css_selector('.foo input') enter_text_in_element(page.driver, el, "123", click=2, enter=False) el = page.driver.find_element_by_css_selector('.foo .bk-menu') assert 'display: none;' not in el.get_attribute('style') items = el.find_elements_by_tag_name("div") assert len(items) == 2 assert items[0].text == "12344556" assert items[1].text == "12344557" assert "bk-active" in items[0].get_attribute('class') assert "bk-active" not in items[1].get_attribute('class') # hover over second element items = el.find_elements_by_tag_name("div") hover_element(page.driver, items[1]) assert len(items) == 2 assert items[0].text == "12344556" assert items[1].text == "12344557" assert "bk-active" not in items[0].get_attribute('class') assert "bk-active" in items[1].get_attribute('class')
def test_server_on_change_round_trip_menu_entry(self, bokeh_server_page) -> None: page = bokeh_server_page(modify_doc) # double click to highlight and overwrite old text el = page.driver.find_element_by_css_selector('.foo input') enter_text_in_element(page.driver, el, "123", click=2, enter=False) enter_text_in_element(page.driver, el, Keys.DOWN, click=0) page.click_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"] enter_text_in_element(page.driver, el, "123", click=2, enter=False) el = page.driver.find_element_by_css_selector('.foo .bk-menu') items = el.find_elements_by_tag_name("div") hover_element(page.driver, items[1]) items[1].click() page.click_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"]
def test_server_on_change_round_trip_menu_entry( self, bokeh_server_page: BokehServerPage) -> None: input_box = AutocompleteInput() modify_doc, _ = mk_modify_doc(input_box) page = bokeh_server_page(modify_doc) # double click to highlight and overwrite old text el = find_element_for(page.driver, input_box, "input") enter_text_in_element(page.driver, el, "123", click=2, enter=False) enter_text_in_element(page.driver, el, Keys.DOWN, click=0) page.eval_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"] enter_text_in_element(page.driver, el, "123", click=2, enter=False) el = find_element_for(page.driver, input_box, ".bk-menu") items = el.find_elements_by_tag_name("div") hover_element(page.driver, items[1]) items[1].click() page.eval_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"]
def test_server_on_change_round_trip_menu_entry(self, bokeh_server_page): page = bokeh_server_page(modify_doc) # double click to highlight and overwrite old text el = page.driver.find_element_by_css_selector('.foo input') enter_text_in_element(page.driver, el, "123", click=2, enter=False) enter_text_in_element(page.driver, el, Keys.DOWN, click=0) page.click_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"] enter_text_in_element(page.driver, el, "123", click=2, enter=False) el = page.driver.find_element_by_css_selector('.foo .bk-menu') items = el.find_elements_by_tag_name("div") hover_element(page.driver, items[1]) items[1].click() page.click_custom_action() results = page.results assert results['data']['val'] == ["400", "12344557"]