We are using sleep in several places. Sleep is evil. The code should be refactored so the sleep is removed.
There are more robust ways to wait for something to happen than using sleep:
http://watirwebdriver.com/waiting/
https://github.com/cheezy/page-object/wiki/Ajax-Calls
$ grep --include *.rb -R -F 'sleep' . ./wmde/WikidataBrowserTests/tests/browser/features/support/env.rb: sleep env_no * 4 # sleep time to give webdriver time to setup ./wmde/WikidataBrowserTests/tests/browser/features/support/modules/entity_module.rb: sleep(1.0 / 3) while execute_script('return jQuery.active') != 0 ./wmde/WikidataBrowserTests/tests/browser/features/support/modules/entity_module.rb: sleep 1 ./mediawiki/selenium/features/step_definitions/environment_steps.rb: sleep 0.3 ./mediawiki/vagrant/mediawiki/extensions/CirrusSearch/tests/browser/features/step_definitions/general_steps.rb: sleep(Integer(seconds)) ./mediawiki/vagrant/mediawiki/extensions/CirrusSearch/tests/browser/features/step_definitions/search_steps.rb: sleep(5) ./mediawiki/vagrant/mediawiki/extensions/CirrusSearch/tests/browser/features/step_definitions/search_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/Gather/tests/browser/features/step_definitions/common_steps.rb: sleep 5 ./mediawiki/vagrant/mediawiki/extensions/Gather/tests/browser/features/step_definitions/edit_collection_steps.rb: sleep 5 ./mediawiki/vagrant/mediawiki/extensions/MobileFrontend/tests/browser/features/step_definitions/editor_ve_steps.rb: sleep 2 # this gets around a race condition bug in ChromeDriver where both the confirm and the toast are in the page at once, and Chrome reports either "stale element reference: element is not attached to the page document" or "Element does not exist in cache" ./mediawiki/vagrant/mediawiki/extensions/MobileFrontend/tests/browser/features/step_definitions/notification_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/MobileFrontend/tests/browser/features/step_definitions/notification_steps.rb: sleep seconds.to_i ./mediawiki/vagrant/mediawiki/extensions/MultimediaViewer/tests/browser/features/step_definitions/mmv_download_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/UploadWizard/tests/browser/features/step_definitions/upload_wizard_steps.rb: sleep 1 # Sleep because of annoying JS animation happening in this menu ./mediawiki/vagrant/mediawiki/extensions/UploadWizard/tests/browser/features/step_definitions/upload_wizard_steps.rb: sleep 1 # Sleep because of annoying JS animation happening in this menu ./mediawiki/vagrant/mediawiki/extensions/UploadWizard/tests/browser/features/step_definitions/upload_wizard_steps.rb: sleep 1 # Sleep because of annoying JS animation happening in this menu ./mediawiki/vagrant/mediawiki/extensions/UploadWizard/tests/browser/features/step_definitions/upload_wizard_steps.rb: sleep 1 # Sleep because of annoying JS animation happening in this menu ./mediawiki/vagrant/mediawiki/extensions/UploadWizard/tests/browser/features/step_definitions/upload_wizard_steps.rb: sleep 0.5 # Sleep because of annoying JS animation happening in the date picker ./mediawiki/vagrant/mediawiki/extensions/VisualEditor/modules/ve-mw/tests/browser/features/step_definitions/cite_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/VisualEditor/modules/ve-mw/tests/browser/features/step_definitions/cite_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/VisualEditor/modules/ve-mw/tests/browser/features/step_definitions/cite_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/VisualEditor/modules/ve-mw/tests/browser/features/step_definitions/cite_steps.rb: sleep 1 ./mediawiki/vagrant/mediawiki/extensions/VisualEditor/modules/ve-mw/tests/browser/features/step_definitions/media_interface_steps.rb: sleep 1