У меня есть следующее HTML:
<a class="js-open-modal suspend" data-track-event="interacted_with_account_manage_settings_web"
data-track-properties="{"location":"clients","button_clicked":"Suspend"}" data-track="always"
href="/client_suspension/new?client_id=86">Suspend</a>
, и я объявил элемент (кнопку) с этими двумя локаторами:
link(:suspend_button, :class => ["js-open-modal", "suspend"])
link(:suspend_button, :visible_text => 'Suspend')
Я пытался "сломаться" первый локатор: link(:suspend_button, :class => ["blah-blah-blah-blah", "suspend"])
и тест работает со вторым локатором: link(:suspend_button, :visible_text => 'Suspend')
.
Это обеспечивает упругие тесты.
Но если я "сломал" второй локатор link(:suspend_button, :visible_text => 'Ssssssuspend')
, чем тест не работает с первым локатором: link(:suspend_button, :class => ["js-open-modal", "suspend"])
.
Страница есть:
class MyClientsPage < Base
include PageObject
link(:suspend_button, :class => ["js-open-modal", "suspend"])
link(:suspend_button, :visible_text => 'Suspend')
end
и тест:
require 'spec_helper'
require "rspec/expectations"
describe 'Partner/client switch' do
it 'Client account is suspended' do
on(MyClientsPage).suspend_button
end
end
Что такое волхвы c позади сцены при объединении нескольких локаторов с помощью Watir? Не могли бы вы поделиться больше примеров. Большое спасибо заранее!