Vikassy has uploaded a new change for review. https://gerrit.wikimedia.org/r/135616
Change subject: [Browser-test]Adding support for Language Screenshot ...................................................................... [Browser-test]Adding support for Language Screenshot Change-Id: I0f27aec482458b6f04aa913426042f78695d451d --- M modules/ve-mw/test/browser/Gemfile M modules/ve-mw/test/browser/Gemfile.lock M modules/ve-mw/test/browser/features/headings.feature M modules/ve-mw/test/browser/features/step_definitions/headings_steps.rb M modules/ve-mw/test/browser/features/support/env.rb M modules/ve-mw/test/browser/features/support/hooks.rb M modules/ve-mw/test/browser/features/support/pages/visual_editor_page.rb 7 files changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/16/135616/1 diff --git a/modules/ve-mw/test/browser/Gemfile b/modules/ve-mw/test/browser/Gemfile index 316fff2..1d06acd 100755 --- a/modules/ve-mw/test/browser/Gemfile +++ b/modules/ve-mw/test/browser/Gemfile @@ -5,3 +5,5 @@ gem "mediawiki_selenium" gem "mediawiki_api" +gem 'chunky_png' + diff --git a/modules/ve-mw/test/browser/Gemfile.lock b/modules/ve-mw/test/browser/Gemfile.lock index 5075a33..fb70ab8 100644 --- a/modules/ve-mw/test/browser/Gemfile.lock +++ b/modules/ve-mw/test/browser/Gemfile.lock @@ -4,6 +4,7 @@ builder (3.2.2) childprocess (0.5.3) ffi (~> 1.0, >= 1.0.11) + chunky_png (1.3.1) cucumber (1.3.14) builder (>= 2.1.2) diff-lcs (>= 1.1.3) @@ -77,5 +78,6 @@ ruby DEPENDENCIES + chunky_png mediawiki_api mediawiki_selenium diff --git a/modules/ve-mw/test/browser/features/headings.feature b/modules/ve-mw/test/browser/features/headings.feature index 73286e6..5b92720 100644 --- a/modules/ve-mw/test/browser/features/headings.feature +++ b/modules/ve-mw/test/browser/features/headings.feature @@ -5,6 +5,11 @@ Given I go to the "Headings VisualEditor Test" page with content "Headings VisualEditor Test" And I make the text "Headings VisualEditor Test" be selected + @language_screenshot + Scenario: Check presence of all headings values + When I click the down arrow on Headings interface + Then I should see Headings pull-down menu + Scenario Outline: Cycle through headings values When I click the down arrow on Headings interface And I click <headings_interface_name> diff --git a/modules/ve-mw/test/browser/features/step_definitions/headings_steps.rb b/modules/ve-mw/test/browser/features/step_definitions/headings_steps.rb index 0083891..0d51cda 100644 --- a/modules/ve-mw/test/browser/features/step_definitions/headings_steps.rb +++ b/modules/ve-mw/test/browser/features/step_definitions/headings_steps.rb @@ -19,6 +19,10 @@ end end +Then(/^I should see Headings pull-down menu$/) do + on(VisualEditorPage).heading_dropdown_menus_element.when_present.should be_visible +end + When(/^I click Heading$/) do on(VisualEditorPage).heading_element.when_present.click end diff --git a/modules/ve-mw/test/browser/features/support/env.rb b/modules/ve-mw/test/browser/features/support/env.rb index ec7b353..0b22bbe 100644 --- a/modules/ve-mw/test/browser/features/support/env.rb +++ b/modules/ve-mw/test/browser/features/support/env.rb @@ -1,5 +1,6 @@ require_relative "hooks" require "mediawiki_selenium" require "mediawiki_api" +require "chunky_png" include MediawikiApi diff --git a/modules/ve-mw/test/browser/features/support/hooks.rb b/modules/ve-mw/test/browser/features/support/hooks.rb index 6984242..79e89d4 100644 --- a/modules/ve-mw/test/browser/features/support/hooks.rb +++ b/modules/ve-mw/test/browser/features/support/hooks.rb @@ -11,3 +11,45 @@ $edit_user_page_login=true end end + +After("@language_screenshot") do |scenario| + if @browser && @current_page && ENV["LANGUAGE_SCREENSHOT"] + screenshot_hash = {"VisualEditor_Headings:_Check_presence_of_all_headings_values" => ["heading_menus_element","heading_dropdown_menus_element"]} + require "fileutils" + screenshot_directory = ENV["LANGUAGE_SCREENSHOT_PATH"] || "screenshots" + FileUtils.mkdir_p screenshot_directory + file_name = test_name(scenario).gsub(/ /, '_') + if ENV["LANGUAGE_SCREENSHOT_CODE"] + path = "#{screenshot_directory}/#{file_name}."+ENV["LANGUAGE_SCREENSHOT_CODE"]+".png" + else + path = "#{screenshot_directory}/#{file_name}.png" + end + + @browser.screenshot.save path + embed path, "image/png" + #coordinates for croping + min_x=99999 + min_y=99999 + max_x=0 + max_y=0 + #Finding minimum bounding rectangle + screenshot_hash[file_name].each do |ve_element| + html_element = @current_page.method(ve_element).call.element + location_x = html_element.wd.location.x + location_y = html_element.wd.location.y + width = html_element.wd.size.width + height = html_element.wd.size.height + + min_x=location_x if location_x < min_x + min_y=location_y if location_y < min_y + max_x=location_x+width if location_x+width > max_x + max_y=location_y+height if location_y+height > max_y + end + #Croping the image + element = ChunkyPNG::Image.from_file(path) + element.crop!(min_x,min_y,max_x-min_x,max_y-min_y) + element.save(path) + end + +end + diff --git a/modules/ve-mw/test/browser/features/support/pages/visual_editor_page.rb b/modules/ve-mw/test/browser/features/support/pages/visual_editor_page.rb index 4e793f3..d4d9cf6 100644 --- a/modules/ve-mw/test/browser/features/support/pages/visual_editor_page.rb +++ b/modules/ve-mw/test/browser/features/support/pages/visual_editor_page.rb @@ -34,6 +34,8 @@ a(:subheading3, text: /Sub-heading 3/) a(:subheading4, text: /Sub-heading 4/) span(:switch_to_source_editing, class: "oo-ui-iconedElement-icon oo-ui-icon-source") + div(:heading_menus, class: "oo-ui-widget oo-ui-toolGroup oo-ui-indicatedElement oo-ui-popupToolGroup oo-ui-menuToolGroup oo-ui-labeledElement oo-ui-widget-enabled oo-ui-popupToolGroup-active") + div(:heading_dropdown_menus, class: "oo-ui-toolGroup-tools oo-ui-clippableElement-clippable") if ENV["BROWSER"] == "chrome" div(:tools_menu, class: "oo-ui-widget oo-ui-widget-enabled oo-ui-toolGroup oo-ui-iconedElement oo-ui-popupToolGroup oo-ui-listToolGroup") -- To view, visit https://gerrit.wikimedia.org/r/135616 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0f27aec482458b6f04aa913426042f78695d451d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Vikassy <vikasyaligar...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits