Some browser tests were broken by 945fccf009.
The badge element is now technically rendered offscreen, with only the
:before and :after pseudoelements being onscreen. Because of this, Selenium
thinks that the badges are invisible, and this breaks various things in
totally unexpected ways.
* article_page.rb: Store references to the parent <li> elements of badges.
This might not be necessary but I don't know how to access them otherwise.
* badge_steps.rb: When clicking the badges, click the parent <li> element
rather than the not-really-invisible <a>. Effectively, the <a> gets
clicked anyway, since they overlap.
* no_javascript.feature/no_javascript.rb: Wait for page load before
checking that we're on the right page. The wait is no longer
implicit, since Selenium thinks we're clicking the <li> rather than
<a> (links are special-cased).
* notification_steps.rb:
* Check whether the badges exist on the page, rather than whether they
are visible.
* Use a weird hack to read badge text. Apparently you can't read the text
of elements that Selenium thinks are invisible.
http://stackoverflow.com/questions/20888592/gettext-method-of-selenium-chrome-driver-sometimes-returns-an-empty-string
Bug: T161941
Change-Id: Ic6bcd1088249109e49a47cc9007e6ee002d3d8ba
Since 79e095fd8a609b71937057034ff5801c13180137,
modern js experience is mostly controlled by feature
detection instead of user agent sniffing.
This broke the Echo nojs browser tests and the
mwext-mw-selenium job is now failing on ALL Echo patches.
This change introduces a user agent string that is
both still considered a nojs browser by RL and a
desktop browser by MF.
Change-Id: I34e8d9f0d879b404d95e674814744562fd57b397
The new oouified echo popup makes the tests invalid; this commit
rewrites those tests.
Also by doing this commit we are upgrading to Selenium 1.4.
Change-Id: I26215558768d55be449276c55b4b745c3a458ecb