Как я могу заставить watir-webdriver и safariwatir работать вместе? - PullRequest
5 голосов
/ 04 июня 2011

Доброе утро,

Я настраиваю watirgrid и частично добился успеха, однако у меня возникают проблемы с тем, чтобы все провайдеры работали с моим скриптом ruby.

На моем Mac я установил провайдера из командной строки, используя:

provider -d safariwatir -c druby://192.168.0.1:11235

и затем на моем компьютере с Ubuntu я настраиваю другого провайдера таким образом

provider -d webdriver -c druby://192.168.0.1:11235

Теперь, если я использую следующий код рубина:

require 'rubgygems'
require 'watirgrid'

Watir::Grid.control(:controller_uri => 'druby://192.168.0.1:11235', :browser_type => 'firefox'_ do |browser, id|
    puts "Browser id is #{i}"
    browser.goto("http://www.google.co.uk")
    puts browser.title
end

Этот тип работает, когда оба браузера запускаются и переходят на выбранную страницу. Однако я не хочу указывать «firefox» как тип браузера, так как я хочу настроить таргетинг на все браузеры в сетке (IE в Windows, FF в Mac и т. Д.). Затем я пытаюсь извлечь «firefox» из команды Grid.control, и пока запускается «Safari», я получаю сообщение об ошибке из второго браузера, так как он не знает, что запускать, я предполагаю.

(Извините, но я не на своих машинах, чтобы воссоздать ошибку и опубликовать ее здесь. Я обновлю сообщение, когда смогу).

Я попытался запустить поставщик веб-драйвера с ключом -b:

provider -d webdrive -c druby://192.168.0.1:11235 -b firefox

и затем снова запустите тот же код ruby, без типа браузера, но я получаю ту же ошибку.

Я что-то здесь упускаю?

Я предполагаю, что нормально запускать несколько провайдеров на машине с несколькими браузерами, только на разных портах.

Я добился определенного успеха в этом, у меня есть Chrome, работающий с веб-драйвером на изолированной машине, и я думаю, что это действительно поможет в моей веб-разработке, мне просто нужно решить эту проблему, так что спасибо за любую помощь. Я надеюсь, что все это имеет смысл.

Спасибо, Рассел

Ответы [ 2 ]

2 голосов
/ 05 июня 2011

Интересный случай использования, я не думал об этом (на одной машине с разными браузерами и разными типами драйверов)

Посмотрите на последнюю сборку

gem install watirgrid --pre

Вот пример в rspec здесь: https://github.com/90kts/watirgrid/blob/master/spec/grid_mixed_spec.rb

Если вы собираетесь запустить более одного провайдера на одном компьютере, убедитесь, что они разделены с помощью аргумента -p портами unqiue. Я также исправил ошибку, так что если вы укажете -b browser_type, он будет по умолчанию установлен на этот тип браузера, если не определите его явно в параметрах Watir :: Grid.

Дайте мне знать, как вы идете ...

0 голосов
/ 18 апреля 2012

Это может быть немного проще, теперь, когда Webdriver добавил поддержку Safari

Смотрите здесь для получения дополнительной информации: http://watirmelon.com/2012/04/17/using-watir-webdriver-with-safari-at-last/

...