Dduvall has uploaded a new change for review. https://gerrit.wikimedia.org/r/262842
Change subject: WIP Experimenting with JS object references in browser tests ...................................................................... WIP Experimenting with JS object references in browser tests References to JS objects for VE elements can determined by referencing the VE and OOUI API documentation[1][2] and interrogating the objects in a browser console. Errors should be closer to what developers understand but testers should pair with developers to better understand how to define new page elements and where to go for documentation/help. The VE entrypoint for the singleton reference is `ve.init.target` (if there's only one instance of VE target; there may be multiple in some cases like Flow). [1] https://doc.wikimedia.org/VisualEditor/master/ [2] https://doc.wikimedia.org/oojs-ui/master/js/ Change-Id: I1f642807cdd3059d8e7e885a8b239ac01b9b3024 --- M Gemfile.lock M modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb M modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb 3 files changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/42/262842/1 diff --git a/Gemfile.lock b/Gemfile.lock index 40f5127..9f9a1da 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,11 @@ GEM remote: https://rubygems.org/ specs: - ast (2.1.0) + ast (2.2.0) astrolabe (1.3.1) parser (~> 2.2) builder (3.2.2) - childprocess (0.5.8) + childprocess (0.5.9) ffi (~> 1.0, >= 1.0.11) chunky_png (1.3.5) commons_upload (0.0.4) @@ -97,7 +97,7 @@ watir-webdriver (0.9.1) selenium-webdriver (>= 2.46.2) websocket (1.2.2) - yml_reader (0.6) + yml_reader (0.7) PLATFORMS ruby @@ -108,3 +108,6 @@ rake (~> 10.4, >= 10.4.2) rubocop (~> 0.32.1) screenshot (~> 0.0.7) + +BUNDLED WITH + 1.10.6 diff --git a/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb b/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb index e191ef1..c5117d6 100644 --- a/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb +++ b/modules/ve-mw/tests/browser/features/step_definitions/general_markup_steps.rb @@ -1,5 +1,5 @@ When(/^I click the Bold menu option$/) do - on(VisualEditorPage).ve_bold_text_element.when_present(15).click + on(VisualEditorPage).ve_bold_text_element.when_present.click end When(/^I click the Computer Code menu option$/) do @@ -7,7 +7,7 @@ end When(/^I click the Italics menu option$/) do - on(VisualEditorPage).ve_italics_element.when_present(15).click + on(VisualEditorPage).ve_italics_element.when_present.click end When(/^I click the More option$/) do diff --git a/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb b/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb index d77b87a..4617192 100644 --- a/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb +++ b/modules/ve-mw/tests/browser/features/support/pages/visual_editor_page.rb @@ -177,11 +177,10 @@ div(:toolbar_actions, class: 'oo-ui-toolbar-actions') a(:transclusion, css: 'span.oo-ui-widget.oo-ui-iconElement.oo-ui-tool.oo-ui-tool-name-transclusion.oo-ui-widget-enabled > a') text_field(:transclusion_description, css: '.oo-ui-inputWidget > input:nth-child(1)') - span(:ve_bold_text, class: 'oo-ui-iconElement-icon oo-ui-icon-bold') span(:ve_bullets, css: '.oo-ui-clippableElement-clippable .oo-ui-iconElement-icon.oo-ui-icon-listBullet') span(:ve_computer_code, class: 'oo-ui-iconElement-icon oo-ui-icon-code') div(:ve_heading_menu, class: 'oo-ui-iconElement-icon oo-ui-icon-down') - span(:ve_italics, class: 'oo-ui-iconElement-icon oo-ui-icon-italic') + span(:ve_italics, object: 've.init.target.getToolbar().items[2].tools.italic.$link[0]') span(:ve_link_icon, class: 'oo-ui-iconElement-icon oo-ui-icon-link') span(:ve_link_ui, class: 'oo-ui-widget oo-ui-widget-enabled oo-ui-labelElement-label oo-ui-labelWidget oo-ui-processDialog-title oo-ui-labelElement', text: 'Link') span(:ve_media_menu, class: 'oo-ui-iconElement-icon oo-ui-icon-picture') @@ -203,6 +202,14 @@ div(:media_alternative_block, class: 'oo-ui-layout oo-ui-iconElement oo-ui-labelElement oo-ui-fieldsetLayout', index: 2) div(:media_advanced_settings, class: 'oo-ui-outlineOptionWidget-level-0', index: 1) + def ve_bold_text_element + @browser.execute_script('return ve.init.target.getToolbar().items[2].tools.bold.$link[0]') + end + + def ve_italics_element + @browser.execute_script('return ve.init.target.getToolbar().items[2].tools.italic.$link[0]') + end + def tools_menu_element if browser_name == :chrome div(class: 'oo-ui-widget oo-ui-widget-enabled oo-ui-toolGroup oo-ui-iconElement oo-ui-popupToolGroup oo-ui-listToolGroup') -- To view, visit https://gerrit.wikimedia.org/r/262842 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1f642807cdd3059d8e7e885a8b239ac01b9b3024 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Dduvall <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
