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

Фотография

Детект элементов на странице ошибки


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

#1 jor77

jor77

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Владимир А

Отправлено 15 апреля 2014 - 09:45

Ребята, подскажите, пожалуйста... Я пока в этой теме не силен :)

Есть страница (возникающая ошибка в Файрфоксе). Помогите как ее задетектить? Как найти хоть какой-нить элемент? по xpath пробовал всякие варианты, но ничего не получается. Или здесь ничего нельзя задетектить?

Вот исходный текст страницы:

 

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="yellow_files/intl.css" type="text/css"?>
<parsererror xmlns="http://www.mozilla.o...parsererror.xml">Ошибка синтаксического анализа XML: лишние данные после элемента документа
Адрес: https://xx.xxx.xx/xxx
Строка 36, символ 1:<sourcetext>0
^</sourcetext></parsererror>


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 15 апреля 2014 - 09:51

Укажите ошибку что вы получаете.

Какая версия браузера, селениума, на чём разрабатываете тесты.

То что вы привели непонятно.


  • 0

#3 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 15 апреля 2014 - 11:11

Можно попробовать так:

Assert.assertTrue(driver.getPageSource().contains("parsererror"));

Или как описано здесь


  • 1

#4 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 15 апреля 2014 - 11:37

assertTrue(driver.findElements(By.tagName("parsererror")).size() == 0);

или 

assertTrue(driver.findElements(By.tagName("parsererror")).size() != 0);

В зависимости от того, чего желаете дальше делать. У вас кстати не опечатка ли там ? 'parseerror' или 'parsererror' ?


  • 1

#5 jor77

jor77

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Владимир А

Отправлено 15 апреля 2014 - 11:56

Укажите ошибку что вы получаете.

Какая версия браузера, селениума, на чём разрабатываете тесты.

То что вы привели непонятно.

Непонятно что непонятно :)

Селениум и файрфокс последних версий, пишу на Питоне, но не понимаю при чем здесь это?

Суть в чем: При переходе по какой-нибудь ссылке может возникнуть ошибка о которой и сигнализирует Файрфокс. Появляется желтая страница "ошибка синтаксического анализа...". Исходный код этой страницы я привел. Я хочу отлавливать появление этой страницы. Но у меня это не получается.

 

Можно попробовать так:







Assert.assertTrue(driver.getPageSource().contains("parsererror"));

Или как описано здесь

Спасибо, действительно, можно по исходному тексту страницы искать совпадение фразы. Но как-то некрасиво это, каждый раз исходник страницы перечитывать... Я думал, может какой прямой метод есть :)

А то что по ссылке, я, честно говоря, не очень понял :) 


  • 0

#6 jor77

jor77

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

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Владимир А

Отправлено 15 апреля 2014 - 12:05



assertTrue(driver.findElements(By.tagName("parsererror")).size() == 0);

или 



assertTrue(driver.findElements(By.tagName("parsererror")).size() != 0);

В зависимости от того, чего желаете дальше делать. У вас кстати не опечатка ли там ? 'parseerror' или 'parsererror' ?

 

О! Точно! Что-то мне в голову не пришло, что по тэгам можно искать! Я тормоз :)

СПАСИБО!

 

P.S. Нет, не опечатка. Там именно 'parsererror'


  • 0

#7 vmaximv

vmaximv

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

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

Отправлено 15 апреля 2014 - 13:02

И по xpath можно, просто тут xmlns палки вставляет.
  • 0


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

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