Я недавно унаследовал набор тестов Ruby, на котором запущен watir-webdriver (0.6.4), и я нахожусь в неудачной ситуации, когда набор отлично работает на компьютере моего коллеги, но в нескольких случаях ошибка на моей.Я пытался привязать каждую версию всех моих драгоценных камней к тому, что находится на его машине, чтобы попытаться решить проблему совместимости, но без кубиков.Основная ошибка, по-видимому, в том, что я получаю следующее исключение, происходящее из внутреннего метода `assert_valid_as_attribute 'watir:
(Watir::Exception::MissingWayOfFindingObjectException: invalid attribute: :css)
Исходящий вызов в моем коде:
search_results.selectable_cards_plural.take(assets_selected).each { |assets| assets.fire_event ("onclick") }
search_results{...}.take
возвращает массив div.
Кто-нибудь видел эту проблему раньше?Я видел два других сообщения SO, в которых упоминалась эта проблема, но ни одна из них, по-видимому, не касалась моей конкретной проблемы.
Я включил часть своего gemfile.lock ниже, на тот случай, если кто-нибудь сможет легко определить совместимость.вопрос.Я использую Ruby 2.5.0.И да, я планирую обновить тесты для запуска новых версий gem в ближайшем будущем, но я хочу, чтобы эти устаревшие регрессионные тесты были запущены в это время.
Селекторы, упомянутые выше: def search_results; @browser.div(:class, 'search-results-grid') end
def selectable_cards_plural; divs(:css => 'div.p-card-hover.p-card-selectable:not(.p-card-selected)') end
Выбранный элемент: class = "p-card-hover, выбираемый p-card css-g6ribn-StyledCardHover-visible-visible-visible-visible-StyledCardHover erkh22a0"
Информация о среде: MacOSmacOS 10.14.3 (Mojave) Chrome Версия 72.0.3626.121 Драйвер браузера: @browser = Watir :: Browser.new: chrome,: prefs => chrome_prefs, переключатели:% w [- размер окна = 1600,900 --ignore-certificate-errors --disable-popup-blocking --disable-translate]
Трассировка стека:
Asset Section: Adding # When selecting specific # from search adds assets to section
Failure/Error: search_results.selectable_cards_plural.take(assets_selected).each { |assets| assets.fire_event ("onclick") }
Watir::Exception::MissingWayOfFindingObjectException:
invalid attribute: :css
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:238:in `assert_valid_as_attribute'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:219:in `normalize_selector'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:198:in `block in normalized_selector'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:195:in `each'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:195:in `normalized_selector'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:98:in `find_all_by_multiple'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/locators/element_locator.rb:46:in `locate_all'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/element_collection.rb:96:in `elements'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/element_collection.rb:86:in `to_a'
# /Users/jnguyen/.rvm/gems/ruby-2.5.0/gems/watir-webdriver-0.6.4/lib/watir-webdriver/element_collection.rb:29:in `each'
# ./lib/live_editor/assets_le.rb:37:in `take'
# ./lib/live_editor/assets_le.rb:37:in `select_assets'
# ./spec/smoke/live_editor/standard/asset_add_num_spec.rb:23:in `block (3 levels) in <top (required)>'
Gemfile.lock
{...}
commonwatir (4.0.0)
rake (12.3.2)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-core (3.5.2)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-support (3.5.0)
rspec_html_formatter (0.3.1)
activesupport (>= 4.1.4)
rouge (>= 1.6.1)
rspec-core (>= 3.0.3)
selenium-webdriver (2.53.4)
childprocess (~> 0.5)
rubyzip (~> 1.0)
websocket (~> 1.0)
watir (5.0.0)
commonwatir (~> 4)
watir-webdriver
watir-rspec (2.0.3)
rspec (~> 3.0)
watir (~> 5.0)
watir-scroll (0.1.0)
watir-webdriver
watir-webdriver (0.6.4)
selenium-webdriver (>= 2.18.0)
PLATFORMS
ruby
DEPENDENCIES
{...}
rake
rspec (= 3.5.0)
rspec-core (= 3.5.2)
rspec_html_formatter (~> 0.3.1)
selenium-webdriver (= 2.53.4)
watir (~> 5.0.0)
watir-rspec (= 2.0.3)
watir-scroll (~> 0.1.0)
watir-webdriver (= 0.6.4)
BUNDLED WITH
1.17.3