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

Фотография

Selenium RC не могу правильно оформить локатор


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

#1 NIgh-Cat

NIgh-Cat

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

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

Отправлено 03 мая 2011 - 12:52

Доброго времени суток.

не получается правильно определить локатор кнопки "Вход".
Имени нигде не прописано, по сути кнопки-то нет, есть src


<div class="action">
<a href="http://e.mail.ru/cgi...bin/start"><img align="right" class="submit-image" src="http://limg.imgsmail...enter.gif"></a>
<div class="reauth"><a href="http://e.mail.ru/cgi...gout">Выход</a>
</div>
</div>


Все перепробовала, не находит элемента(
  • 0

#2 vitorg

vitorg

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

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 03 мая 2011 - 13:07

И вот так не находит?
xpath=//a[img[@class='submit-image']]

У вас там не кнопка, а ссылка внутри которой сидит картинка, жать на картинку бесполезно, надо нажимать на ссылку.
  • 0

#3 NIgh-Cat

NIgh-Cat

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

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

Отправлено 03 мая 2011 - 13:27

$this->selenium->click("xpath=//a[img[@class='submit-image']]");

Также не может найти элемент.

Может быть нужно более конкретный путь прописывать?
К слову сказать это кнопка "Войти" на главной МейлРу при авторизации.
  • 0

#4 stmark

stmark

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

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 03 мая 2011 - 13:42

//XPath-локатор

xpath=//a/img[@class='submit-image']



//CSS-локатор

css=a>img.submit-image

  • 0

#5 Eagle250

Eagle250

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Василь Касимов
  • Город:Ижевск


Отправлено 03 мая 2011 - 13:54

А если использовать то, что рекордер генерирует?
$this->click("css=input.submit")
или
$this->click("//input[@value='Войти']");
или совсем уж в лоб
$this->click("//td[2]/table/tbody/tr/td[3]/input");

Последний вариант перестанет работать при изменении структуры страницы

З.Ы.: Я не проверял работоспобность этого кода
  • 0

#6 vitorg

vitorg

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

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 03 мая 2011 - 13:59

К слову сказать это кнопка "Войти" на главной МейлРу при авторизации.

Не похоже, там:
<input type="submit" value="Войти" tabindex="6" class="submit" style="width: 50px; text-align: center; padding: 0;" />

  • 0

#7 NIgh-Cat

NIgh-Cat

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

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

Отправлено 03 мая 2011 - 14:33


К слову сказать это кнопка "Войти" на главной МейлРу при авторизации.

Не похоже, там:
<input type="submit" value="Войти" tabindex="6" class="submit" style="width: 50px; text-align: center; padding: 0;" />


Этот вариант тоже не проходит, да и во всем html'e главной страницы хром не нашел даже слова "Войти")) Это, кажется устаревший вариант.

Сработало!
$this->selenium->click("css=input.submit")

Только семантика запроса не совсем понятна..Не прокомментируете?)
  • 0

#8 Eagle250

Eagle250

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

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Василь Касимов
  • Город:Ижевск


Отправлено 04 мая 2011 - 08:00


Сработало!
$this->selenium->click("css=input.submit")

Только семантика запроса не совсем понятна..Не прокомментируете?)



Если это был вопрос ко мне, то я не могу ответить. Я записал это рекордером :)
Я, конечно, не дока в css'ах, но видимо как-то так:
Изображение




  • 0

#9 NIgh-Cat

NIgh-Cat

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

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

Отправлено 04 мая 2011 - 10:49

Спасибо еще раз. Сказалась моя невнимательность.

Хотелось бы еще спросить совета

Скрипт, работая в хроме выдает:

14:45:37.930 INFO - Got result: ERROR: Command execution failure. Please search
the forum at http://clearspace.openqa.org for error details from the log window.
The error message is: Cannot convert object to primitive value on session cad9
8e9071f94fbb95f52e431709a587

Пробую отключать защиту, не помогает:
$this->selenium->start("--disable-web-security");
$this->selenium->start("mode=disableSecurity");
  • 0

#10 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 04 мая 2011 - 11:12

Попробуйте так:
$this->selenium->start("commandLineFlags=--disable-web-security");
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#11 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 04 мая 2011 - 11:23

На всякий случай спрошу - а Вы точно уверены, что причина в нарушении web security policy?
Может быть она успешно отключается, но это не помогает, потому что причина ошибки иная?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#12 NIgh-Cat

NIgh-Cat

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

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

Отправлено 04 мая 2011 - 12:40

На всякий случай спрошу - а Вы точно уверены, что причина в нарушении web security policy?
Может быть она успешно отключается, но это не помогает, потому что причина ошибки иная?



По всей видимости причина в этом. Локатор точно правильный, а вот урл уже другой...в том же мейле при авторизации становится e.mail.ru

P.S. Также пишет:
Got result: Cannot call method 'indexOf' of undefined on session
  • 0


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

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