Как я могу управлять экземпляром Watir-Webdriver из другого файла? Например, в файле webdriver.rb У меня естьКонтрольный экземпляр Watir-Webdriver из другого файла
require 'watir-webdriver'
class Crawler
attr_accessor :browser
def initialize
self.browser = Watir::Browser.new
end
def goto_mypage
browser.goto("http://www.mypage.com")
end
def kill
browser.close
end
end
a = Crawler.new
Теперь как бы я получить доступ к из файла «another_file.rb» с содержанием, как
a.goto("htttp://www.another_page.com")
a.goto_mypage
Я попытался сделать требуя ' ./webdriver.rb 'в another_file.rb. И сделать класс Crawler частью модуля и в том числе. Получение доступа к методам между файлами не является проблемой - получение доступа к экземпляру webdriver.
Я попытался установить переменную экземпляра @a = a в webdriver.rb, а затем получить доступ к @a из another_file.rb.
Я думал, что это будет просто, но он меня смутил.
Спасибо. Да, я получаю ошибку класса nil 'NoMethodError - undefined method 'goto' для nil: NilClass:' при попытке управления a из another_file.rb Ошибка относится, скажем, к методу goto_mypage в webdriver. гь. Я не могу поместить 'a = Crawler.new' во второй файл, потому что большая часть работы, которую выполняет a, определяется в файле webdriver.rb. Он должен сидеть и наблюдать изменения на веб-странице. Очень редко - в зависимости от того, вызван ли код в файле another_file.rb - мне нужно, чтобы проверить другую страницу и вернуться к исходной странице, которую она контролирует. – sarkon