Перейти к содержимому

Фотография

Загвоздка c Watir


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 11 декабря 2008 - 14:47

Уважаемые специалисты!
У меня вопрос такого содержания:
Имею простую задачу зайти и выйти с сайта.
Стало быть выполняю нехитрые комбинации:

# Подключаем библиотеку Watir
require 'watir'

# Открываем новое окно IE
ie = Watir::IE.new

# Переходим на страницу
ie.goto "http://www.exampl-esite.ru/"

# Заполняем поля логин и пароль
ie.text_field(:name, "username").set "in123"
ie.text_field(:name, "password").set "123"

И вот тут возникает проблема. Функцию кнопки ввода подтвержденных логина и пароля выполняет картинка.
Соответственно я что делаю:
ie.image(:value, /login.gif/).click

Так вот эта зараза не работает.
Выдается ошибка в командной строке

E:\rb_proj>ruby ie_tst_login.rb
C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/element.rb:52:in `assert_exists': Unable to locate e
lement, using :value, /login.gif/ (Watir::Exception::UnknownObjectException)
from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/element.rb:284:in `enabled?'
from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/element.rb:56:in `assert_enabled'
from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/element.rb:229:in `click!'
from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/element.rb:215:in `click'
from ie_tst_ge_login.rb:13


Пробовал и по альтернативному тексту "щёлкать", и путь до картинки "указывать".
безрезультатно.
  • 0

#2 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 11 декабря 2008 - 15:19

Попробуйте сначала сделать селект для вашей кнопки, а потом уже клиакайте ее.
  • 0

#3 XFree

XFree

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 11 декабря 2008 - 15:58

Думаю, что вот так получится ie.image(:src, /login.gif/i).click
А вообще было бы неплохо пример страницы постаить.
А вообще можете обращаться, я довольно много повозился с watir. Правда у меня так и не получилось заставить firewatir работать с русским текстом, если он не UTF-8. Хотя плотно с этим не возился...
Кстати в новой версии появились неплохи штуки...
например:
Watir::Browser.default='ie'
browser = Watir::Browser.new
  • 0

#4 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 07:39

Сейчас попробую ))
  • 0

#5 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 08:07

Думаю, что вот так получится ie.image(:src, /login.gif/i).click

Не получилось


Вообще есть мысль такая. После ввода логина и паролья нажать (как и пользователь) клавишу ENTER.
Подскажите как правильно написать эту строчку кода?

ie.text_field(:name, "username").set "in123"
ie.text_field(:name, "password").set "123"
Send("{ENTER}")
Так или нет? в документации по Ruby иных примеров не нашёл.
У меня не сработало.
  • 0

#6 XFree

XFree

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 12 декабря 2008 - 08:14

Пример страницы в студию...
Доки лежат тут ruby/lib/ruby/gems/1.8/doc/watir-1.6.2/rdoc/index.html
Правильно вот так...
ie.send_keys("{ENTER}")
Желательно обновить библиотеку AutoIt

Так же без этого http://www.microsoft...;displaylang=en вообще невозможно, что либо тестировать, как и програмировать под IE.
Оф. страница watir http://wtr.rubyforge.org/
  • 0

#7 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 08:27

Так же без этого http://www.microsoft...;displaylang=en вообще невозможно, что либо тестировать, как и програмировать под IE.
Оф. страница watir http://wtr.rubyforge.org/


Спасибо конечно за совет - я это все знаю и использую ))))

Пример страницы не могу прислать к сожалению. Извините не отменя это зависит ((((

а вот про ie.send_keys("{ENTER}") чтото я не докумекал )))) ща пробну
  • 0

#8 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 08:54

А AutoIt надо писать как

require 'AutoIt'

или не надо?

Вы извините что я может быть вопросы задаю какие то очевидные или глупые, да и просто невежественные, но я Ruby начал юзать две недели назад - я в нём пока не очень... соображаю.

И обновить её какой командой?
у меня её помоему вообще нет. Поиск выдал AutoItx3.dll
  • 0

#9 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 09:23

Попробуйте сначала сделать селект для вашей кнопки, а потом уже клиакайте ее.


Хмм.. подскажите как сделать селект для этой картинки?
  • 0

#10 XFree

XFree

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 12 декабря 2008 - 09:44

Да не надо делать селект, он сам делается. AutoIt Не надо подключать, если установлен watir. А так вообще можно использовать autoit =Watir::Watir.autoit, а дальше оле методы аутоита. Пример нужен только страницы с логином... Хотябы анлогичный... Иначе помощи не получится, только советы... МОжет ты вообще не так делаешь =) А как это узнать? Я руби знаю довольно хорошо, да и с watir тоже повозился.

А AutoIt надо писать как

require 'AutoIt'

или не надо?

Вы извините что я может быть вопросы задаю какие то очевидные или глупые, да и просто невежественные, но я Ruby начал юзать две недели назад - я в нём пока не очень... соображаю.

И обновить её какой командой?
у меня её помоему вообще нет. Поиск выдал AutoItx3.dll

AutoItx3.dll - и есть библиотека, она в watir лежит... Лучше с оф сайта взять свежую и просто заменить =)
  • 0

#11 syrin

syrin

    Новый участник

  • Members
  • Pip
  • 14 сообщений


Отправлено 12 декабря 2008 - 10:54

ну вот кстати как пример сайт на котором я играю в игру-онлайн

www.geonline.ru

Там то же самое.
Прям на первой же странице (ну если вы зарегитесь для примера, то можно проверить).
  • 0

#12 XFree

XFree

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 12 декабря 2008 - 14:11

require 'Watir'

Watir::Browser.default='ie'
browser = Watir::Browser.start('http://www.geonline.ru/')

browser.text_field(:id,'navbar_username').set 'test'
browser.text_field(:id,'navbar_password').set 'test'
browser.button(:src,/btn_login.gif/i).click
  • 0

#13 hub00

hub00

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 02 ноября 2009 - 08:28

Здравствуйте.
Хотел спросить у вас на счет Watir.
Как можно отправлять русскоязычный текст в формы?
Что нужно для этого?
На сайте кодировка ютф8 и в системе (ubuntu) одинаковые.

спасибо.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных