diff --git a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py index 7431eb3ed9..0f0788c4b6 100644 --- a/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py +++ b/cms/djangoapps/contentstore/features/component_settings_editor_helpers.py @@ -116,6 +116,18 @@ def edit_component(): world.css_click('a.edit-button') +@world.absorb +def select_editor_tab(tab_name): + editor_tabs = world.browser.find_by_css('.editor-tabs a') + expected_tab_text = tab_name.strip().upper() + matching_tabs = [tab for tab in editor_tabs if tab.text.upper() == expected_tab_text] + assert len(matching_tabs) == 1 + tab = matching_tabs[0] + tab.click() + world.wait_for_ajax_complete() + + + def enter_xml_in_advanced_problem(step, text): """ Edits an advanced problem (assumes only on page), diff --git a/cms/djangoapps/contentstore/features/transcripts.py b/cms/djangoapps/contentstore/features/transcripts.py index 55e861b933..c1bcb5e27c 100644 --- a/cms/djangoapps/contentstore/features/transcripts.py +++ b/cms/djangoapps/contentstore/features/transcripts.py @@ -209,14 +209,11 @@ def check_text_in_the_captions(_step, text): @step('I see value "([^"]*)" in the field "([^"]*)"$') def check_transcripts_field(_step, values, field_name): - editor_tabs = world.browser.find_by_css('.editor-tabs a') - basic_tab = editor_tabs[0] - advanced_tab = editor_tabs[1] - advanced_tab.click() + world.select_editor_tab('Advanced') field_id = '#' + world.browser.find_by_xpath('//label[text()="%s"]' % field_name.strip())[0]['for'] values_list = [i.strip() == world.css_value(field_id) for i in values.split('|')] assert any(values_list) - basic_tab.click() + world.select_editor_tab('Basic') @step('I save changes$') @@ -228,13 +225,7 @@ def save_changes(_step): @step('I open tab "([^"]*)"$') def open_tab(_step, tab_name): - editor_tabs = world.browser.find_by_css('.editor-tabs a') - expected_tab_text = tab_name.strip().upper() - matching_tabs = [tab for tab in editor_tabs if tab.text.upper() == expected_tab_text] - assert len(matching_tabs) == 1 - tab = matching_tabs[0] - tab.click() - world.wait_for_ajax_complete() + world.select_editor_tab(tab_name) @step('I set value "([^"]*)" to the field "([^"]*)"$') diff --git a/cms/djangoapps/contentstore/features/video-editor.py b/cms/djangoapps/contentstore/features/video-editor.py index abff4bd74a..833fecdeaf 100644 --- a/cms/djangoapps/contentstore/features/video-editor.py +++ b/cms/djangoapps/contentstore/features/video-editor.py @@ -114,7 +114,7 @@ def set_show_captions(step, setting): world.css_click('a.edit-button') world.wait_for(lambda _driver: world.css_visible('a.action-save')) - world.click_link_by_text('ADVANCED') + world.select_editor_tab('Advanced') world.browser.select('Transcript Display', setting) world.css_click('a.action-save')