2012-05-24 2 views
2

Я пытаюсь заставить Watir подражать мобильной среде, и я следовал указаниям дословно из очень полезного, http://watirwebdriver.com/mobile-devices/. Вот мой код.Неопределенный метод для «нижнего». (WATIR/Ruby related. Webdriver-user-agent)

#!/usr/bin/ruby 
require 'rubygems' 
require 'watir-webdriver' 
require "webdriver-user-agent" 
require 'headless' 
$headmode = 0 
$screens = 0 
headless = Headless.new if $headmode == 1 
headless.start if $headmode == 1 

driver = UserAgent.driver(:browser => :firefox, :agent => :iphone, :orientation => :landscape) 
....... snip ...... 
....... snip ...... 

Исключение бросают это .....

/var/lib/gems/1.8/gems/webdriver-user-agent-0.0.5/lib/webdriver-user-agent.rb:39:in `agent_string_for': undefined method `downcase' for :iphone:Symbol (NoMethodError) 
    from /var/lib/gems/1.8/gems/webdriver-user-agent-0.0.5/lib/webdriver-user-agent.rb:11:in `driver' 
    from ./test_CAPI.rb:11 

Не будучи разработчиком рубин, или быть опытным в Watir (пока), я озадачен этой ошибки. Может кто-нибудь пролить некоторый свет на это? Большое спасибо Janie

ответ

6

Пользователь-агент webdriver жалуется, что значения, которые вы передали для: agent и: orientation, не могут быть уменьшены из-за метода, который не существует.

Я думаю, что есть два решения:

  1. Upgrade Руби 1.9.3. Я угадываю, как и я, вы запускали код, используя что-то вроде Ruby 1.8.7. Метод downcase() для символов не существует в 1.8.7, что дает вам ошибку. Поэтому вам нужна более поздняя версия Ruby, которая имеет метод (пример 1.9.3 на основе http://www.ruby-doc.org/core-1.9.3/Symbol.html).

  2. Передайте строку для: agent и: значения ориентации (пример ниже). Похоже, что это работает для одного примера (хотя я не использую этот камень, поэтому не могу сказать вам, есть ли проблемы в другом месте).

    драйвер = UserAgent.driver (: браузер =>: светлячок,: агент => 'iphone',: ориентация => 'пейзаж')

+0

WebDriver-агент пользователя драгоценный камень должен теперь поддерживают Рубин 1.8.x на основе http://watirmelon.com/tag/webdriver-user-agent/ (т. Е. Эти решения больше не требуются) –

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