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

Фотография

verifyAllLinks


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

#1 notProgrammer

notProgrammer

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

  • Members
  • PipPipPip
  • 199 сообщений
  • Город:Харьков

Отправлено 16 декабря 2010 - 16:53

Добрый день/вечер/ночь!
В ходе тестирования использую Selenium IDE для записи особо нудных и часто повторяющихся действий.
Была задача проверить работоспособность всех ссылок, которые есть на странице. Я тогда так и не осилила это для Selenium IDE, и прошлась по приложению вручную... Работа тяжёлая и малоприятная...
Знаю, в Selenium IDE есть команда verifyAllLinks. Мне казалось, что с помощью неё на открытой странице Selenium должен приверить все ссылки, которые есть (по крайней мере название команды наталкивает на такую мысль). Сделать этого та ни разу не получилось: как только Selenium до неё доходит - красит в красный цвет и на этом месте останавливается. Читала manual, искала в Google - понять не могу, что нужно сделать, чтобы verifyAllLinks работала... Возможно я что-то не так делаю, или не там ищу, или вообще неправильно понимаю смысл этой команды? Если у кого-либо был подобный опыт - подулитесь, пожалуйста, если можете.

Заранее спасибо!
  • 0
- Как называется человек, который любит смотреть на страдания других?
- Программист.

У тестировщика всегда чётное количество синяков: если он наступил на грабли - обязан воспроизвести ошибку.
(bash.org)

#2 adzynia

adzynia

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

  • Members
  • PipPipPip
  • 210 сообщений
  • ФИО:Дзыня Андрей


Отправлено 16 декабря 2010 - 17:16

Добрый вечер,
А есть ли смысл использовать Selenium? Есть как сайты так и тулы верификаторы ссылок, а так же плагины для firefox. Что именно Вам нужно проверить? Что страница открывается или наличие конкретного элемента на каждой странице ?

verifyAllLinks выполняет следующий код
  try {
        $this->assertEquals($pattern, implode(',', $this->getAllLinks()));
    } catch (PHPUnit_Framework_AssertionFailedError $e) {
        array_push($this->verificationErrors, $e->toString());
    }

То есть сравнивается вхождение $pattern со всеми ссылками из массива, который возвращает метод $this->getAllLinks(). А вам нужно эти ссылки открывать и проверять, что страницы загрузилась, как я понимаю ?
  • 0

#3 Mad Cat

Mad Cat

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

  • Members
  • PipPipPip
  • 222 сообщений
  • ФИО:Александр Балабанов
  • Город:Киев

Отправлено 16 декабря 2010 - 17:24

Знаю, в Selenium IDE есть команда verifyAllLinks. Мне казалось, что с помощью неё на открытой странице Selenium должен приверить все ссылки, которые есть (по крайней мере название команды наталкивает на такую мысль).

verifyAllLinks не проверяет ссылки на работоспособность.
  • 0

#4 notProgrammer

notProgrammer

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

  • Members
  • PipPipPip
  • 199 сообщений
  • Город:Харьков

Отправлено 16 декабря 2010 - 17:35

А вам нужно эти ссылки открывать и проверять, что страницы загрузилась, как я понимаю ?

Да, ссылка должна вести не на 404.
  • 0
- Как называется человек, который любит смотреть на страдания других?
- Программист.

У тестировщика всегда чётное количество синяков: если он наступил на грабли - обязан воспроизвести ошибку.
(bash.org)

#5 notProgrammer

notProgrammer

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

  • Members
  • PipPipPip
  • 199 сообщений
  • Город:Харьков

Отправлено 16 декабря 2010 - 17:36


Знаю, в Selenium IDE есть команда verifyAllLinks. Мне казалось, что с помощью неё на открытой странице Selenium должен приверить все ссылки, которые есть (по крайней мере название команды наталкивает на такую мысль).

verifyAllLinks не проверяет ссылки на работоспособность.

Я прошу прощения... А какой тогда смысл этой команды?
  • 0
- Как называется человек, который любит смотреть на страдания других?
- Программист.

У тестировщика всегда чётное количество синяков: если он наступил на грабли - обязан воспроизвести ошибку.
(bash.org)

#6 Mad Cat

Mad Cat

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

  • Members
  • PipPipPip
  • 222 сообщений
  • ФИО:Александр Балабанов
  • Город:Киев

Отправлено 16 декабря 2010 - 17:39



Знаю, в Selenium IDE есть команда verifyAllLinks. Мне казалось, что с помощью неё на открытой странице Selenium должен приверить все ссылки, которые есть (по крайней мере название команды наталкивает на такую мысль).

verifyAllLinks не проверяет ссылки на работоспособность.

Я прошу прощения... А какой тогда смысл этой команды?

Проверить массив ссылок на совпадение с regexp-ом, если я не ошибаюсь. Тут гугл в помощь, он лучше знает.
  • 0

#7 stmark

stmark

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

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


Отправлено 16 декабря 2010 - 18:25


А вам нужно эти ссылки открывать и проверять, что страницы загрузилась, как я понимаю ?

Да, ссылка должна вести не на 404.


Рекомендую: Xenu's Link Sleuth
  • 0

#8 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 16 декабря 2010 - 19:10

Рекомендую: Xenu's Link Sleuth

Оно command line интерфейс имеет? И на юниксе запускаться. По крайней мере одна очень полезная фича в нем есть - поддержка https. Но если он не умеет запускаться из командной строки на линухе, то лично мне сразу не подходит.
  • 0
Regards,
Alexey

#9 Mad Cat

Mad Cat

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

  • Members
  • PipPipPip
  • 222 сообщений
  • ФИО:Александр Балабанов
  • Город:Киев

Отправлено 16 декабря 2010 - 23:45

Рекомендую: Xenu's Link Sleuth

Но если он не умеет запускаться из командной строки на линухе, то лично мне сразу не подходит.

По-моему наивно ожидать работы в Linux от виндового приложения, не так ли?
  • 0

#10 stmark

stmark

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

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


Отправлено 17 декабря 2010 - 00:14

Оно command line интерфейс имеет? И на юниксе запускаться. По крайней мере одна очень полезная фича в нем есть - поддержка https. Но если он не умеет запускаться из командной строки на линухе, то лично мне сразу не подходит.


Я и не принуждаю :)
Думаю, для любого гурмана найдётся подходящая тулза.
  • 0

#11 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 17 декабря 2010 - 05:06

Я и не принуждаю :)
Думаю, для любого гурмана найдётся подходящая тулза.

Спасибо за ссылку на линкчекер. В том-то и дело, что тулов много и мы уже 100 лет используем linklint, который даже немного допилен кем-то. Но время от времени в нем находятся косячки и хочется поменять. Например, он плохо работает с https, а был случай когда это потребовалось.
А про xenu я уже не первый раз слышу и ее не первый раз советуют тут, как хороший тул. Но так никто и не ответил, есть у нее интерфейс командной строки или нет.
  • 0
Regards,
Alexey

#12 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 17 декабря 2010 - 05:11

По-моему наивно ожидать работы в Linux от виндового приложения, не так ли?

Да нет. Во-первых, следует признать, что я конечно не посмотрел, что это только виндовая тулза. А во-вторых там написано "However I have been told that it will run faultlessly under Red Hat 8 and Ubuntu via wine, and under Crossover on a Mac :-)".
  • 0
Regards,
Alexey

#13 adzynia

adzynia

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

  • Members
  • PipPipPip
  • 210 сообщений
  • ФИО:Дзыня Андрей


Отправлено 17 декабря 2010 - 08:48

Я использовал этот ресурс validator . Тул опенсорс, можно скачать и развенуть у себя, локально.
Еще можете попробовать Firefox Add-on

Если использовать Selenium IDE. Можно написать небольшой тест, который будет брать ссылки из массива, открывать одну за другой. И проверять, что у страницы есть указаный элемент.
  • 0

#14 horhe

horhe

    Активный участник

  • Members
  • PipPip
  • 100 сообщений
  • ФИО:Юрко
  • Город:Kraków

Отправлено 17 декабря 2010 - 09:20

Еще можете попробовать Firefox Add-on

или этот аддон для FF
  • 0
Piobaireachd isn't mysterious, difficult or hard - it's just music...

#15 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 17 декабря 2010 - 09:34

А про xenu я уже не первый раз слышу и ее не первый раз советуют тут, как хороший тул. Но так никто и не ответил, есть у нее интерфейс командной строки или нет.

Прочитал вчера всю доку по ней на сайте.
Сегодня еще хелп почитал. Там есть очень интересная строка по поводу command line (в future features list):
Command-line parameters (actually, this has already been done, for a client who agreed to pay my development time to two people I support. If you need something similar, e-mail me, the price is a $300 donation to be split between two people I support)
  • 0

#16 notProgrammer

notProgrammer

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

  • Members
  • PipPipPip
  • 199 сообщений
  • Город:Харьков

Отправлено 17 декабря 2010 - 15:16

Огромное всем спасибо за ответы! Сколько разных вариантов решения одной проблемы...
Остался только вопрос: если приложение настолько "секъюрно", что ходить на него могу только я и ещё несколько других IP - этот ресурс http://validator.w3.org/checklink/ не сможет работать?

P.S. И для Selenium интересное решение, спасибо d3unka... Нужно будет обязательно попробовать такое сделать, только я пока не знаю как...
  • 0
- Как называется человек, который любит смотреть на страдания других?
- Программист.

У тестировщика всегда чётное количество синяков: если он наступил на грабли - обязан воспроизвести ошибку.
(bash.org)

#17 Mad Cat

Mad Cat

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

  • Members
  • PipPipPip
  • 222 сообщений
  • ФИО:Александр Балабанов
  • Город:Киев

Отправлено 17 декабря 2010 - 18:47

Остался только вопрос: если приложение настолько "секъюрно", что ходить на него могу только я и ещё несколько других IP - этот ресурс http://validator.w3.org/checklink/ не сможет работать?

Точно не сможет. Попробуйте завести локально бесплатную версию http://www.htmlvalidator.com/.
  • 0

#18 adzynia

adzynia

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

  • Members
  • PipPipPip
  • 210 сообщений
  • ФИО:Дзыня Андрей


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

Огромное всем спасибо за ответы! Сколько разных вариантов решения одной проблемы...
Остался только вопрос: если приложение настолько "секъюрно", что ходить на него могу только я и ещё несколько других IP - этот ресурс http://validator.w3.org/checklink/ не сможет работать?

P.S. И для Selenium интересное решение, спасибо d3unka... Нужно будет обязательно попробовать такое сделать, только я пока не знаю как...


Пишите в личку, я когда-то реализовывал подобное. Помогу.
  • 0


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

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