Commit graph

78 commits

Author SHA1 Message Date
Gilles Dubuc d6c142fd2b Change image load check strategy
Using the "complete" property worked for the file page, but not
for media viewer because change the src of an img doesn't reset
the prop.

This introduces a custom event that cucumber can listen to in order
to know when the full resolution image had been loaded in media
viewer.

Change-Id: I40875166e70badbb35106c4a3536c706a7c815b4
2014-08-28 07:33:58 +02:00
Cmcmahon 781fc6d409 QA: update to fix deprecated API token call
Change-Id: I8842899e2467efdb9ba4b3035b2e6dc0df340a96
2014-08-27 09:21:30 -07:00
Gilles Dubuc eef5fe7897 Add Safari to browser tags
The test passes on Cloudbees, we can now add the tag to make
it official

Change-Id: Id0ada2fbdb7e3fea1429d0cbec52b24e5815c4ac
2014-06-25 21:43:29 +00:00
Gergő Tisza 2616546468 Change "learn more" to "more details about this file"
Several people complained that "Learn more on Wikimedia Commons"
is not clear: it can be interpreted as a link to the Commons
main page, the text does not suggest that the link will be related
to this specific file. The new wording tries to address this.

Change-Id: Ia605cc30c4ca57598f7cebdde60061800a10b6e7
2014-06-18 19:10:11 +00:00
Gilles Dubuc eedc57c1c9 Wait some more for the close button to appear
During the warmup steps Media Viewer might take some time
to open, which might be why the close button won't appear in
less than 5 seconds

Change-Id: I3b17d46c3343f2b1ff33aaaf55faa4adb71cb218
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/618
2014-05-16 11:36:12 +02:00
Gilles Dubuc c6411d3c6a Add 1 pixel of tolerance to the basic test.
This is the first failure that the E2E test is running into when being
run on IE9

Change-Id: I60fe8764196ecc60e2c365576349cf902a069ddb
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/577
2014-05-15 20:41:08 +00:00
Gilles Dubuc e4a9b6c62c User custom user agent to identify production test runs
It's important that when we generate the graphs based on
EventLogging data, we have a foolproof way to filter out
local runs that happened during development.

Change-Id: Ifc65d3b4bfb96946a8e8d59d080a6c5ee6552533
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/509
2014-04-24 16:52:13 +02:00
Gilles Dubuc 353ce92d79 Set correct license link location in E2E test
* Remove login since it's not longer needed
* Point to a new smaller test page instead of Lightbox_demo
 which should make the tests run much faster
* Tweak selenium scroll workaround which seems to be speed-dependant

Change-Id: I247ae6a5044ecc93b6f3839f1b9ed955b488b5a7
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/475
2014-04-24 15:50:06 +02:00
Gilles Dubuc bf213ed978 Test to compare the performance of MMV and the Commons File: page
- Runs combinations of cold/warm browser cache and average/large window size
- Sends events with EventLogging that will allow us to generate limn graphs

This should run separately from the other cucumber test we already
have. This one needs different environment variables  because it needs
to run against production wikis instead of beta wikipedia

Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/378
Change-Id: I53b521ca2759c493aae6fe6e59be8d448e0f15d7
2014-04-17 12:32:15 +02:00
Gilles Dubuc ac9f5d8c96 Add history back button test to E2E
The scrolling logic has broken specifically when navigating with the
back button (as opposed to pressing the "close" button). This change
aims to test that scenario.

Change-Id: Ibe31b319c882b7de2a84ae143652144093c50f1c
2014-04-15 16:25:22 +02:00
Gilles Dubuc fe399fc71c Fix E2E scroll assertion logic
It turns out that cucumber/selenium will automatically scroll
to the element you want it to click on. As a result we have to do
the same in order for the assertion to be correct when coming back to
the article.

Change-Id: I7d3b6609cfe7cdae9c08a6d723d652ad1a6a7055
2014-04-15 16:09:18 +02:00
Gilles Dubuc 09374fc9dd Restore article scroll after closing Media Viewer
There used to be a CSS trick with the order we added things to the
page and removed them from it, but it doesn't seem possible anymore
with the new order of execution, with the overlay appearing
immediately and being taken care of inside bootstrap.

The main cause of the bug, however, was the hash reset happening
after the interface was closed.

Doing the scroll restore with jQuery.scrollTo is more future-proof
and testable in QUnit.

Additions were also made to the cucumber E2E test because QUnit
alone wouldn't have caught the hash issue.

This also cleans up custom events a little and reintroduces
pushState on browsers that support the history API.

Change-Id: I63187383b632a2e8793f05380c18db2713856865
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/439
Bug: 63892
2014-04-14 18:04:30 +00:00
Gergő Tisza 95111d2b73 Use mw-mmv CSS prefix consistently for all things
With apologies to anyone who gets a hundred merge conflicts
because of this :)

We had several different prefix styles (mlb-, mw-mlb-, mw-mmv-,
mw-mmv-mmv-, a few unprefixed), which was getting annoying,
and will be confusing to wiki editors who are trying to figure out
where a given style comes from. Such changes are better done before
going live because it breaks all local CSS tweaks on the wiki,
so I am renaming things now (also removing some stuff which wasnt
used anywhere).

Change-Id: I00447a25f0028e234169c6db941bedc99622eb8d
2014-03-31 21:33:12 +00:00
Gilles Dubuc 773ed3673b Point the navigation E2E test to the right image
Since we shuffled content around on Lightbox_demo,
the test was trying to read the wrong image.

Change-Id: I4ccaa0a1ab354aa4c19bc3870fb54b0ea11ff086
2014-03-11 16:02:18 +01:00
vikassy 061180fdc1 Updated Ruby version from 2.1.0 to 2.1.1
Bug: 62152
Change-Id: I9c67d6a60294e155b7c75df1862d7a080c0716fc
2014-03-04 08:56:04 +05:30
Zeljko Filipin 006353fd24 Cloudbees Jenkins jobs are now created using Jenkins Job Builder
All Jenkins jobs will fail until this commit is merged:

https://wmf.ci.cloudbees.com/view/mv/

Bug: 61778
Change-Id: I5fb37946bbb15cb1b70045f85aa11ba48ecd2260
2014-02-24 16:46:20 +00:00
Gilles Dubuc 28b8f5095e Use cross-origin img attribute instead of data URI
After lots of experimenting with Wireshark and
current Chrome + Firefox on Ubuntu 13.10, this is my
current understanding of the caching when preloading images
with AJAX requests:

* on Chrome, the image request always comes from browser cache
* Firefox makes two separate requests by default
* Firefox with img.crossOrigin = 'anonymous' makes two separate
  requests, but the second one is a 304 (does not load the
  image twice)
* when the image has already been cached by the browser (but not in
  this session), Chrome skips both requests; Firefox skips the AJAX
  request, but sends the normal one, and it returns with 304.

"wish I knew this when I started" things:
* the Chrome DevTools has an option to disable cache. When this is
  enabled, requests in the same document context still come from
  cache (so if I load the page, fire an AJAX request, then without
  reloading the page, fire an AJAX request to the same URL, then the
  second request will be cached), but an AJAX request - image request
  pair is an exception from this.
* when using Ctrl-F5 in Firefox, requests on that page will never hit
  the cache (even AJAX request fired after user activity; even if
  two identical requests follow each other). When using clear cache
  + normal reload, this is not the case.
* if the image does not have an Allow-Origin header and is loaded
  with crossOrigin=true, Firefox will refuse to load it. Chrome will
  log an error in the console saying it refused to load it, but will
  actually load it.
* Wireshark rocks.

Pushed some tech debt (browser + domain whitelist) into other tickets:
https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/232
https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/233

Reverted commits:
    8a8d74f01d.
    63021d0b0e.

Change-Id: I84ab2f3ac0a9706926adf7fe8726ecd9e9f843e0
Bug: 61542
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/207
2014-02-24 07:56:40 +00:00
Aaron Arcos 8a1bf00ef0 Remove fire_event("onfocus") from next/previous/exit actions, not needed
As suggested by Chrismcmahon, I confirmed that there is no need
to fire the onfocus event. We also remove the convenient functions
around this logic.

Change-Id: I00ce04c758e496f76bd5c2a43ad933c952acc5fb
2014-02-20 14:00:26 -08:00
Aaron Arcos bd07e7e7a6 Improve e2e tests to check metadata content
The first version of the e2e tests just checked the presence
of some DOM sections. This 2d version actually verifies the
values for most of the components in the viewer.

Change-Id: Iabfd544f05182e86a16cf6bda162bb0abc5cf260
2014-02-19 18:46:28 -08:00
Aaron Arcos 63021d0b0e Fix e2e tests to support data:URIs
We are using data:URIs to measure performace. This
change broke e2e tests that were trying to match plain urls.

Change-Id: I8220801472cde595dd6651ef2796468eba484071
2014-02-19 12:00:47 -08:00
Cmcmahon 3a4b659cfb Merge "Moved Ruby code that multiple repositories use to mediawiki_selenium Ruby gem" 2014-02-14 16:45:10 +00:00
Zeljko Filipin ad9768dfde Moved Ruby code that multiple repositories use to mediawiki_selenium Ruby gem
Bug: 56088
Change-Id: I126fe93ac511570594cfc1ba684b33bd2b356b34
2014-02-11 15:14:30 +01:00
Zeljko Filipin 8115a242da Added basic readme file to test/browser folder
Change-Id: If1710a3399abc1d0519b2714a3c67e9300e0829c
2014-02-10 15:58:01 +01:00
Zeljko Filipin bede2da4a7 Renamed mediawiki-selenium Ruby gem to mediawiki_selenium
Bug: 60820
Change-Id: Ifdb2f788fd8d57599b663960adfa917c026de4fd
2014-02-07 13:35:23 +01:00
Zeljko Filipin 219f9d3f1b cucumber.yml is no longer needed
Bug: 56085
Change-Id: Idd5a7867173effea6ae5f80416b1d5f640a911ab
2014-01-30 13:07:02 +01:00
Zeljko Filipin 2e5d5271cc Moved Sauce Labs browser configuration to mediawiki-selenium Ruby gem
Bug: 56085
Change-Id: I6d0ac62a3dcceab7d41de7fa162c6b3ead1aad5a
2014-01-28 18:00:32 +01:00
Zeljko Filipin f876b87d56 @login tag is required for tests to be able to log in at Jenkins machine
Change-Id: I4302518543a7f7e4bd02132d444f870a1fcea54f
2014-01-22 14:51:17 +01:00
Jeff Hall 47cfaf62bd Initial setup for Multimedia Viewer browser tests and first basic e2e test.
Did some clean-up for Cucumber tags and code conventions.

Change-Id: Ifc954f60a50c41211043493fd64c2dcfa64848ff
Mingle: Multimedia card #100
Bug: 60049
2014-01-18 18:41:26 -08:00