diff --git a/cms/djangoapps/contentstore/features/component.py b/cms/djangoapps/contentstore/features/component.py index bec0c9431b..794eb9acba 100644 --- a/cms/djangoapps/contentstore/features/component.py +++ b/cms/djangoapps/contentstore/features/component.py @@ -5,7 +5,6 @@ from lettuce import world, step from nose.tools import assert_true, assert_in, assert_equal # pylint: disable=E0611 from common import create_studio_user, add_course_author, log_into_studio - @step(u'I am in Studio editing a new unit$') def add_unit(step): world.clear_courses() @@ -96,8 +95,13 @@ def add_a_multi_step_component(step, is_advanced, category): @step(u'I see (HTML|Problem) components in this order:') def see_a_multi_step_component(step, category): - components = world.css_find('li.component section.xmodule_display') + + # Wait for all components to finish rendering + selector = 'li.component section.xmodule_display' + world.wait_for(lambda _: len(world.css_find(selector)) == len(step.hashes)) + for idx, step_hash in enumerate(step.hashes): + if category == 'HTML': html_matcher = { 'Text': @@ -107,9 +111,11 @@ def see_a_multi_step_component(step, category): 'E-text Written in LaTeX': '