Как получить заголовки, идентификаторы и имена окон в selenium-webdriver?

Я пытаюсь реализовать следующие методы из selenium-webdriver(ruby)

  • get_all_window_ids
  • get_all_window_titles
  • get_all_window_names
  1. Я запустил Selenium IDE и экспортировал свой скрипт в Ruby Test::Unit. Сохранил как .rb
  2. Открыл мой скрипт для редактирования с помощью Aptana Studio 3
  3. Исходный фрагмент кода выглядит следующим образом:
require "rubygems"
require "selenium-webdriver"
require "test/unit"

class SwitchToPopup3 < Test::Unit::TestCase

  def setup
    @driver = Selenium::WebDriver.for :firefox
    @base_url = (URL of my test website)
    @driver.manage.timeouts.implicit_wait = 30
    @verification_errors = []
  end

  def teardown
    @driver.quit
    assert_equal [], @verification_errors
  end


def test_switch_to_popup3
  .
  .
  puts @driver.get_all_window_ids()
  puts @driver.get_all_window_titles()
  puts @driver.get_all_window_names()
  .
  .
end

Я продолжаю получать сообщение об ошибке

NoMethodError: undefined method `get_all_window_ids' for #    
/Users/rsucgang/Documents/Aptana Studio 3 Workspace/Testing/SwitchToPopup2.rb:37:in `test_switch_to_popup3'

Я изучил документацию по привязкам ruby ​​для selenium-webdriver

http://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/Client/GeneratedDriver.html#get_all_window_titles-instance_method

В конечном счете, моя цель — запустить скрипт автоматизации:

  1. Нажмите на ссылку, которая откроет новое окно с target=_blank и без идентификатора окна (не реализует JS)
  2. Определите имена всех открытых окон в браузере
  3. переключитесь на новое всплывающее окно используя метод switchToWindow(name)
  4. продолжить выполнение моего скрипта в этом всплывающем окне

Я погуглил и исследовал это в Интернете, и я не получил никакой информации.

Спасибо. Если вам потребуется дополнительная информация, дайте мне знать.

  • OSL Mac OSX 10.7.3
  • Ruby: ruby ​​1.8.7 (уровень исправления 249 от 10 января 2010 г.) [universal-darwin11.0]
  • Браузер: Firefox 9.0.1 (Mac)
  • Chrome : Chrome 17.0.963.79 (Mac)
  • Selenium-Server: Ruby gem 2.20.0

6
задан Ralph Willgoss 5 June 2013 в 12:08
поделиться