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

Reply via email to