diff --git a/tests/browser/features/support/modules/authority_control_gadget_module.rb b/tests/browser/features/support/modules/authority_control_gadget_module.rb index 760723f..7f66fa6 100644 --- a/tests/browser/features/support/modules/authority_control_gadget_module.rb +++ b/tests/browser/features/support/modules/authority_control_gadget_module.rb @@ -1,19 +1,19 @@ # -*- encoding : utf-8 -*- # Wikidata UI tests # # Author:: Tobias Gritschacher (tobias.gritschacher@wikimedia.de) # License:: GNU GPL v2+ # # module for authority control gadget page module AuthorityControlGadgetPage include PageObject def statement_authority_control_link(group_index, claim_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) div.wb-snak-value > a.external") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) div.wb-snak-value > a.external") end def statement_authority_control_link_element(group_index, claim_index) statement_authority_control_link(group_index, claim_index).wd end end diff --git a/tests/browser/features/support/modules/rank_selector_module.rb b/tests/browser/features/support/modules/rank_selector_module.rb index e135a36..6e98dec 100644 --- a/tests/browser/features/support/modules/rank_selector_module.rb +++ b/tests/browser/features/support/modules/rank_selector_module.rb @@ -1,41 +1,41 @@ # -*- encoding : utf-8 -*- # Wikidata UI tests # # Author:: Tobias Gritschacher (tobias.gritschacher@wikimedia.de) # License:: GNU GPL v2+ # # module for rank selector page object module RankSelectorPage include PageObject ul(:rank_selector_menu, css: 'ul.wikibase-rankselector-menu') def rank_indicator(group_index, claim_index, rank) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector.ui-state-disabled > span.wikibase-rankselector-#{rank}") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector.ui-state-disabled > span.wikibase-rankselector-#{rank}") end def rank_selector_disabled(group_index, claim_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector.ui-state-disabled > span") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector.ui-state-disabled > span") end def rank_selector(group_index, claim_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector:not(.ui-state-disabled) > span") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wikibase-rankselector:not(.ui-state-disabled) > span") end def rank_selector_item(rank) @browser.element(css: "ul.wikibase-rankselector-menu > li.wikibase-rankselector-menuitem-#{rank} a") end def select_rank(group_index, claim_index, rank) rank_selector(group_index, claim_index).click rank_selector_menu_element.when_visible # the following is to work around an issue where webdriver does behaves # differently when doing element.click and element.fire_event('onClick') # in (at least) firefox. # see also https://groups.google.com/forum/#!topic/watir-general/iYH-_OX1PPg rank_selector_item(rank).fire_event('onClick') rank_selector_item(rank).click ajax_wait end end diff --git a/tests/browser/features/support/modules/snaktype_selector_module.rb b/tests/browser/features/support/modules/snaktype_selector_module.rb index 8d7fa21..bf05d44 100644 --- a/tests/browser/features/support/modules/snaktype_selector_module.rb +++ b/tests/browser/features/support/modules/snaktype_selector_module.rb @@ -1,33 +1,33 @@ # -*- encoding : utf-8 -*- # Wikidata UI tests # # Author:: Tobias Gritschacher (tobias.gritschacher@wikimedia.de) # License:: GNU GPL v2+ # # module for snaktype selector page object module SnaktypeSelectorPage include PageObject ul(:snaktype_selector_menu, css: 'ul.wb-snaktypeselector-menu') def snaktype_selector(group_index, claim_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wb-snak-typeselector > span > span") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) .wb-snak-typeselector > span > span") end def snaktype_selector_item(snaktype) @browser.element(css: "ul.wb-snaktypeselector-menu > li.wb-snaktypeselector-menuitem-#{snaktype} a") end def select_snaktype(group_index, claim_index, snaktype) snaktype_selector(group_index, claim_index).click snaktype_selector_menu_element.when_visible # the following is to work around an issue where webdriver does behaves # differently when doing element.click and element.fire_event('onClick') # in (at least) firefox. # see also https://groups.google.com/forum/#!topic/watir-general/iYH-_OX1PPg snaktype_selector_item(snaktype).fire_event('onClick') snaktype_selector_item(snaktype).click ajax_wait end end diff --git a/tests/browser/features/support/modules/statement_module.rb b/tests/browser/features/support/modules/statement_module.rb index d93a57a..37f90b1 100644 --- a/tests/browser/features/support/modules/statement_module.rb +++ b/tests/browser/features/support/modules/statement_module.rb @@ -1,94 +1,94 @@ # -*- encoding : utf-8 -*- # Wikidata UI tests # # Author:: Tobias Gritschacher (tobias.gritschacher@wikimedia.de) # License:: GNU GPL v2+ # # module for statement page module StatementPage include PageObject include EntitySelectorPage include ReferencePage include RankSelectorPage include SnaktypeSelectorPage # statements UI elements h2(:statements_heading, id: 'claims') - a(:add_statement, css: 'div.wb-claimlistview > div.wb-claims > div.wb-claimgrouplistview > .wikibase-addtoolbar-container span.wikibase-toolbar-button-add:not(.wikibase-toolbarbutton-disabled) > a') - a(:add_statement_disabled, css: 'div.wb-claimlistview > div.wb-claims > div.wb-claimgrouplistview > .wikibase-addtoolbar-container span.wikibase-toolbar-button-add.wikibase-toolbarbutton-disabled > a') - a(:save_statement, css: '.wb-claimlistview div.listview-item span.wikibase-toolbar-button-save:not(.wikibase-toolbarbutton-disabled) > a') - a(:save_statement_disabled, css: '.wb-claimlistview div.listview-item span.wikibase-toolbar-button-save.wikibase-toolbarbutton-disabled > a') - a(:cancel_statement, css: '.wb-claimlistview div.listview-item span.wikibase-toolbar-button-cancel:not(.wikibase-toolbarbutton-disabled) > a') - a(:cancel_statement_disabled, css: '.wb-claimlistview div.listview-item span.wikibase-toolbar-button-cancel.wikibase-toolbarbutton-disabled > a') - span(:statement_help_field, css: 'div.wb-claimlistview span.mw-help-field-hint') + a(:add_statement, css: 'div.wikibase-statementlistview > div.wb-claims > div.wb-claimgrouplistview > .wikibase-addtoolbar-container span.wikibase-toolbar-button-add:not(.wikibase-toolbarbutton-disabled) > a') + a(:add_statement_disabled, css: 'div.wikibase-statementlistview > div.wb-claims > div.wb-claimgrouplistview > .wikibase-addtoolbar-container span.wikibase-toolbar-button-add.wikibase-toolbarbutton-disabled > a') + a(:save_statement, css: '.wikibase-statementlistview div.listview-item span.wikibase-toolbar-button-save:not(.wikibase-toolbarbutton-disabled) > a') + a(:save_statement_disabled, css: '.wikibase-statementlistview div.listview-item span.wikibase-toolbar-button-save.wikibase-toolbarbutton-disabled > a') + a(:cancel_statement, css: '.wikibase-statementlistview div.listview-item span.wikibase-toolbar-button-cancel:not(.wikibase-toolbarbutton-disabled) > a') + a(:cancel_statement_disabled, css: '.wikibase-statementlistview div.listview-item span.wikibase-toolbar-button-cancel.wikibase-toolbarbutton-disabled > a') + span(:statement_help_field, css: 'div.wikibase-statementlistview span.mw-help-field-hint') div(:claim_edit_mode, css: '.wb-claim-section div.wb-edit') textarea(:claim_value_input_field, css: 'div.wikibase-statementview-mainsnak .valueview-input') # methods def statement_name_element(group_index) - @browser.element(css: ".wb-claimlistview:nth-child(#{group_index}) div.wb-claim-name") + @browser.element(css: ".wikibase-statementlistview:nth-child(#{group_index}) div.wb-claim-name") end def statement_string_value(group_index, claim_index) - @browser.element(xpath: "//div[contains(@class, 'wb-claimlistview')][#{group_index}]//div[contains(@class, 'listview-item')][#{claim_index}]//div[contains(@class, 'valueview-instaticmode')]").text + @browser.element(xpath: "//div[contains(@class, 'wikibase-statementlistview')][#{group_index}]//div[contains(@class, 'listview-item')][#{claim_index}]//div[contains(@class, 'valueview-instaticmode')]").text end def statement_value_element(group_index, claim_index) - @browser.element(css: ".wb-claimlistview:nth-child(#{group_index}) div.listview-item:nth-child(#{claim_index}) div.wb-snak-value a") + @browser.element(css: ".wikibase-statementlistview:nth-child(#{group_index}) div.listview-item:nth-child(#{claim_index}) div.wb-snak-value a") end def statement_snaktype(group_index, claim_index, snaktype) - @browser.element(css: ".wb-claimlistview:nth-child(#{group_index}) div.listview-item:nth-child(#{claim_index}) div.wb-snak-value.wb-snakview-variation-#{snaktype}snak") + @browser.element(css: ".wikibase-statementlistview:nth-child(#{group_index}) div.listview-item:nth-child(#{claim_index}) div.wb-snak-value.wb-snakview-variation-#{snaktype}snak") end def snak_value_input_field(index = 1) @browser.element(css: "div.wb-snaklistview:nth-child(#{index}) .valueview-input") end def snak_value_input_field_wd(index = 1) snak_value_input_field(index).wd end def edit_claim(group_index, claim_index) edit_claim_element(group_index, claim_index).click end def edit_claim_element(group_index, claim_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) > .wikibase-edittoolbar-container span.wikibase-toolbar-button-edit:not(.wikibase-toolbarbutton-disabled) > a") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) div.wikibase-statementview:nth-child(#{claim_index}) > .wikibase-edittoolbar-container span.wikibase-toolbar-button-edit:not(.wikibase-toolbarbutton-disabled) > a") end def add_claim(group_index) add_claim_element(group_index).click end def add_claim_element(group_index) - @browser.element(css: "div.wb-claimlists div.wb-claimlistview:nth-child(#{group_index}) > span.wikibase-toolbar-wrapper .wikibase-addtoolbar-container span.wikibase-toolbar-button-add:not(.wikibase-toolbarbutton-disabled) > a") + @browser.element(css: "div.wb-claimlists div.wikibase-statementlistview:nth-child(#{group_index}) > span.wikibase-toolbar-wrapper .wikibase-addtoolbar-container span.wikibase-toolbar-button-add:not(.wikibase-toolbarbutton-disabled) > a") end def wait_for_claim_value_box wait_until do self.claim_value_input_field? end end def wait_for_snak_value_box wait_until do snak_value_input_field.present? end end def wait_for_statement_request_finished wait_until do self.claim_edit_mode? == false end end def wait_for_statement_save_button save_statement_element.when_visible end def get_string_snak_value(value) '"' + value + '"' end end