Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
51c7ca67
Commit
51c7ca67
authored
Oct 20, 2016
by
Adam Palay
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
address flaky tests by adding time.sleep
parent
13222adf
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
7 deletions
+30
-7
common/test/acceptance/pages/lms/teams.py
+2
-6
common/test/acceptance/tests/lms/test_teams.py
+28
-1
No files found.
common/test/acceptance/pages/lms/teams.py
View file @
51c7ca67
...
...
@@ -6,7 +6,7 @@ Teams pages.
from
common.test.acceptance.pages.lms.course_page
import
CoursePage
from
common.test.acceptance.pages.lms.discussion
import
InlineDiscussionPage
from
common.test.acceptance.pages.common.paging
import
PaginatedUIMixin
from
common.test.acceptance.pages.common.utils
import
confirm_prompt
from
common.test.acceptance.pages.common.utils
import
confirm_prompt
,
click_css
from
common.test.acceptance.pages.lms.fields
import
FieldsMixin
...
...
@@ -502,11 +502,7 @@ class TeamPage(CoursePage, PaginatedUIMixin, BreadcrumbsMixin):
def
click_leave_team_link
(
self
,
remaining_members
=
0
,
cancel
=
False
):
""" Click on Leave Team link"""
self
.
wait_for
(
lambda
:
self
.
team_leave_link_present
,
description
=
"Leave Team button did not become present"
)
self
.
q
(
css
=
'.leave-team-link'
)
.
first
.
click
()
click_css
(
self
,
'.leave-team-link'
,
require_notification
=
False
)
confirm_prompt
(
self
,
cancel
,
require_notification
=
False
)
if
cancel
is
False
:
...
...
common/test/acceptance/tests/lms/test_teams.py
View file @
51c7ca67
...
...
@@ -1042,8 +1042,21 @@ class CreateTeamTest(TeamFormActions):
Then I should see the error message and highlighted fields.
"""
self
.
verify_and_navigate_to_create_team_page
()
self
.
team_management_page
.
submit_form
()
# `submit_form` clicks on a button, but that button doesn't always
# have the click event handler registered on it in time. That's why
# this test is flaky. Unfortunately, I don't know of a straightforward
# way to write something that waits for that event handler to be bound
# to the button element. So I used time.sleep as well, even though
# the bok choy docs explicitly ask us not to:
# http://bok-choy.readthedocs.io/en/latest/guidelines.html
# Sorry! For the story to address this anti-pattern, see TNL-5820
time
.
sleep
(
0.5
)
self
.
team_management_page
.
submit_form
()
self
.
team_management_page
.
wait_for
(
lambda
:
self
.
team_management_page
.
validation_message_text
,
"Validation message text never loaded."
)
self
.
assertEqual
(
self
.
team_management_page
.
validation_message_text
,
'Check the highlighted fields below and try again.'
...
...
@@ -1150,6 +1163,13 @@ class CreateTeamTest(TeamFormActions):
self
.
assertTrue
(
self
.
browse_teams_page
.
get_pagination_header_text
()
.
startswith
(
'Showing 0 out of 0 total'
))
self
.
verify_and_navigate_to_create_team_page
()
# We add a sleep here to allow time for the click event handler to bind
# to the cancel button. Using time.sleep in bok-choy tests is,
# generally, an anti-pattern. So don't copy this :).
# For the story to address this anti-pattern, see TNL-5820
time
.
sleep
(
0.5
)
self
.
team_management_page
.
cancel_team
()
self
.
assertTrue
(
self
.
browse_teams_page
.
is_browser_on_page
())
...
...
@@ -1941,6 +1961,13 @@ class TeamPageTest(TeamsTabBase):
}
]
with
self
.
assert_events_match_during
(
event_filter
=
self
.
only_team_events
,
expected_events
=
expected_events
):
# I think we're seeing the same problem that we're seeing in
# CreateTeamTest.test_user_can_see_error_message_for_missing_data.
# We click on the "leave team" link after it's loaded, but before
# its JavaScript event handler is added. Adding this sleep gives
# enough time for that event handler to bind to the link. Sorry!
# For the story to address this anti-pattern, see TNL-5820
time
.
sleep
(
0.5
)
self
.
team_page
.
click_leave_team_link
()
self
.
assert_team_details
(
num_members
=
0
,
is_member
=
False
)
self
.
assertTrue
(
self
.
team_page
.
join_team_button_present
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment