2016-11-21 4 views
0

Я начал получать эту ошибку при выполнении моих тестов, используя версию страницы объекта жемчужинунеопределенный метод `execute_script» в странице объекта жемчужину

1.2.2 StackTrace

undefined method `execute_script' for <Selenium::WebDriver::Firefox::Bridge:0x00000003cbdba0> (NoMethodError) 

/usr/lib64/ruby/gems/2.2.0/gems/page-object-1.2.2/lib/page-object/platforms/selenium_webdriver/element.rb:146:in `parent' 

/usr/lib64/ruby/gems/2.2.0/gems/page-object-1.2.2/lib/page-object/platforms/selenium_webdriver/table_row.rb:30:in `find_index_by_title' 

/usr/lib64/ruby/gems/2.2.0/gems/page-object-1.2.2/lib/page-object/platforms/selenium_webdriver/table_row.rb:15:in `[]' 

Это происходит при попытке получить значение из таблицы, используя такой метод, как

left_table_element[rank][column] 

NB. Это работало уже более года, поэтому я задаюсь вопросом, была ли введена новая проблема?

Глядя на git-вину, похоже, что строка кода, бросающая ошибку в элементе.rb, возможно, недавно была изменена и, возможно, вызвала эту регрессию?

+0

вы недавно обновленный FireFox? Если да, попробуйте перевести его на более раннюю версию: https://support.mozilla.org/en-US/kb/install-older-version-of-firefox –

ответ

1

Проблема заключается в изменении Selenium-WebDriver. В версии 3.0.0 метод Remote::Bridge#executeScript был переименован в #execute_script.

Жемчуг Page-Object был обновлен в версии 1.2.2 для использования нового метода. Однако зависимости от gem не были обновлены, чтобы отразить требуемую версию, то есть Selenium-WebDriver v2.53.4 по-прежнему отображается как минимальное требование. Похоже, что это уже было исправлено в конечном выпуске Page-Object v2.0.

В то же время, вы можете решить проблему путем обновления до селеном WebDriver v3 (если вы не хотите, чтобы понизить страницу-Object):

gem install selenium-webdriver 
0

Чтобы устранить эту проблему, нужно просто обновить страницу -объект жемчужиной 1.2.2 версии

гем установка -v 1.2.2 (только для селена WebDriver 3.x)

Смежные вопросы