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

Фотография

Selenium + PHP


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

#1 mehanik

mehanik

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

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

Отправлено 02 мая 2011 - 15:57

Есть потребность управлять Selenium через PHP. На оф. сайте для работы с селениумом через PHP предлагается библиотека PHPUnit. С ней особых проблем не возникло - все ожидаемо работает через консольный метод запуска. И тут возникла проблема - как запускать тесты не через консоль и внешний файл, а втурти PHP скрипта?

Дело в том, что тесты предполагается хранить в базе данных. Как правильно скормить тест PHPUnit не через внешний файл?
  • 0

#2 shiron

shiron

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

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Сташевский Павел

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

через PHPUnit_Framework_TestSuite, в нем можно собрать все тесты и запустить методом run()
http://pear.php.net/....html#methodrun
  • 0

#3 mehanik

mehanik

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

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

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

через PHPUnit_Framework_TestSuite, в нем можно собрать все тесты и запустить методом run()
http://pear.php.net/....html#methodrun


Направление оказалось верным, но я второй день бьюсь и до конца не могу просечь логику работы. Делаю так:

$suite = new PHPUnit_Framework_TestSuite('wp');
$suite->addTest(new wp);
PHPUnit_TextUI_TestRunner::run($suite);

wp - это класс с тестом. Если запускать через командную строку phpunit wp.php то все работает. Для проверки код теста я поместил в этот же файл откуда он запускается. Селениум страртует, так что до теста он добирается а вот дальше селениум просто закрывается с ошибкой

No tests found in class "wp".
  • 0

#4 mehanik

mehanik

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

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

Отправлено 06 мая 2011 - 19:38

Все работает. Проблема была в том, что я немного проявил инициативу и назвал по-своему функцию в теле теста. А надо было использовать название вида testMyTestCase. С перлом куда меньше заморочек.
  • 0

#5 barancev

barancev

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

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


Отправлено 06 мая 2011 - 19:55

Все работает. Проблема была в том, что я немного проявил инициативу и назвал по-своему функцию в теле теста. А надо было использовать название вида testMyTestCase. С перлом куда меньше заморочек.

"Alternatively, you can use the @test annotation in a method's docblock to mark it as a test method" -- и можете называть тестовые методы как угодно.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 mehanik

mehanik

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

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

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


Все работает. Проблема была в том, что я немного проявил инициативу и назвал по-своему функцию в теле теста. А надо было использовать название вида testMyTestCase. С перлом куда меньше заморочек.

"Alternatively, you can use the @test annotation in a method's docblock to mark it as a test method" -- и можете называть тестовые методы как угодно.



Спасибо за наводку! Кажется неочевидные моменты по немногу проясняются.
  • 0


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

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