Firefox 42 is faster than the version we're currently using for platform tests. This failure
occurs in the brief amount of time where the teams page is reloading. Waiting for the actual
team list to appear before moving on with tests solves the issue. Approx 4 testcases are fixed.
Below is an example of error that was appearing in firefox 42 tests:
```
Error Message
Not on the correct page to use '<common.test.acceptance.pages.studio.users.CourseTeamPage object at 0x7feb9fdb0490>' at URL 'http://localhost:8031/course_team/course-v1:test_org+321550032104190792981383915127220335686+test_run'
-------------------- >> begin captured logging << --------------------
bok_choy.browser: INFO: Using local browser: firefox [Default is firefox]
--------------------- >> end captured logging << ---------------------
Stacktrace
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 147, in test_added_users_cannot_add_or_delete_other_users
self._assert_user_present(self.other_user, present=True)
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 78, in _assert_user_present
description="Wait for user to be present"
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 490, in wait_for
return EmptyPromise(promise_check_func, description, timeout=timeout).fulfill()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 92, in fulfill
is_fulfilled, result = self._check_fulfilled()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 118, in _check_fulfilled
is_fulfilled, result = self._check_func()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 173, in <lambda>
full_check_func = lambda: (check_func(), None)
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 77, in <lambda>
lambda: user.get('username') in self.page.usernames,
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 66, in wrapper
self._verify_page() # pylint: disable=protected-access
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 331, in _verify_page
raise WrongPageError(msg)
"Not on the correct page to use '<common.test.acceptance.pages.studio.users.CourseTeamPage object at 0x7feb9fdb0490>' at URL 'http://localhost:8031/course_team/course-v1:test_org+321550032104190792981383915127220335686+test_run'\n-------------------- >> begin captured logging << --------------------\nbok_choy.browser: INFO: Using local browser: firefox [Default is firefox]\n--------------------- >> end captured logging << ---------------------"
```
A base URL can now be configured which is, potentially, prepended to an
asset URL. This allows a CDN, or caching server, to front static asset
requests, taking load off of the contentstore and speeding up page load
times.
Asset URL generation respects locked vs unlocked assets, and will not
generate links to locked assets that would traverse a CDN (even though
the authorization component of the contentserver middleware wouldn't
allow those links to work anyways).
These action chains are invalid for later versions of selenium (which
are needed for upgrading the version of firefox we test on); they will
result in output like this:
```
WebDriverException: Message: UnknownError: Cannot release a button when no button is pressed.'UnknownError: Cannot release a button when no button is pressed.' when calling method: [wdIMouse::up]
Stacktrace:
at FirefoxDriver.prototype.mouseButtonUp (file:///tmp/tmp6LL1Ye/extensions/fxdriver@googlecode.com/components/driver-component.js:10979)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmp6LL1Ye/extensions/fxdriver@googlecode.com/components/command-processor.js:12534)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmp6LL1Ye/extensions/fxdriver@googlecode.com/components/command-processor.js:12539)
at DelayedCommand.prototype.execute/< (file:///tmp/tmp6LL1Ye/extensions/fxdriver@googlecode.com/components/command-processor.js:12481)
```
The goal of this is to capture more detailed usage and performance
information around the kind of course content we have out there.
Having this information will allow us to more easily query to see
how sequence size and specific block types affect front end
performance.
This allows the edX REST API Client to perform a sucessful GET against
this API, since Slumber (which our client is based off of) appends the
trailing slash by default.
- Remove escaping in display_name_with_default
- Move escaped version to deprecated display_name_with_default_escaped
- Does not include any other changes to remove double-escaping
Thanks to agaylard who initiated this work:
https://github.com/edx/edx-platform/pull/10756
TNL-3425