Я пытаюсь найти конкретную информацию о том, как настроить Selenium с привязками PHP в настройке типа «клиент-сервер». Я даже не уверен, возможно ли то, что я хочу, но я постараюсь сделать все возможное, чтобы описать цель того, чего я пытаюсь достичь.
Я делаю QA на проекте веб-разработки, где мы работаем с распределенными членами команды. Нам нужно автоматизированное тестирование переднего плана, и мы решили, что (из-за ряда факторов) Selenium является лучшим кандидатом на эту работу.
Наша команда специализируется на PHP, поэтому имеет смысл использовать Selenium с привязками PHP.
Моя самая большая проблема:
1) Как мне установить эти PHP-привязки?
2) Как мне создать и выполнить скрипт Selenium на PHP? Это может показаться очевидным, но мне нужно знать, нужно ли мне создавать какой-то «проект» в PHP или требуются ли другие шаги. Руководства очень четкие и подробные, когда речь идет о привязках JAVA по умолчанию, но безнадежно отсутствуют привязки PHP.
3) Как мне сделать все это, желая вызвать тест от клиента, но выполнив его «сервер / виртуальная машина»? (Имея в виду, что если бы была такая возможность, я бы также хотел иметь возможность создавать тесты на сервере, которые могут выполнять / вызывать действия по тестированию на рабочем столе клиента.)
4) Как мне настроить сервер, который отвечает всем требованиям для запуска Selenium Server с привязками PHP?
Цель состоит в том, чтобы иметь возможность изначально создать виртуальную машину (возможно, коробку Vagrant), которая будет содержать Selenium Server (и, при необходимости, другие компоненты) с фактическими тестовыми сценариями, которые могут быть совместно использованы членами команды.
Обе виртуальные машины должны иметь возможность выполнять безголовые тесты, но в идеале также должны иметь возможность проводить тесты на хосте (если это вообще возможно).
Технически он должен поддерживать сценарий, в котором QA обнаруживает проблему в продукте, и должен иметь возможность просто указать необходимый сценарий для его воспроизведения. Разработчику, который должен решить проблему, нужно только запустить скрипт на своем компьютере, чтобы фактически воспроизвести найденную ошибку.
В конце концов мы захотим перенести виртуальную машину на реальный сервер, поэтому мы хотим установить ее с самого начала. Это облегчит задачу, когда мы будем готовы перейти на физический сервер.
Я искал во всем Интернете подробную документацию, но практически в любой документации делается много предположений относительно уже настроенных и настроенных сред. Мне действительно нужно пошаговое объяснение того, как все настроить.
Соединение с PHPUnit кажется странным выбором в сочетании с Selenium, поскольку они охватывают совершенно разные области тестирования. Я видел (опять же неполные) инструкции на сайте PHPUnit, но это кажется очень неуклюжим, и наша команда разработчиков не очень заинтересована в этой настройке.
У нас есть люди, предлагающие Дженкинс, но я лично не понимаю, как Дженкинс устранит обычную настройку Селена, которую в любом случае нужно пройти с самого начала.
У меня уже есть Selenium Server, работающий в качестве службы на виртуальной машине, мне просто нужно знать, что еще мне нужно, и как мне нужно его настроить, как его настроить. как заставить вещи общаться и т. д.
Любая помощь / идеи будут высоко оценены.
Чтобы запустить его локально, следуйте инструкциям здесь:
https://github.com/facebook/php-webdriver#getting-started
Вот пример сценария PHP webdriver, который вы можете использовать. Он откроет Firefox, перейдет на страницу Google и отправит поисковый запрос:
// you'll need to modify this path so it points to the composer autoloader
require_once __DIR__ . '/vendor/autoload.php';
/**
* since I'm running the selenium jar locally, this is all I need.
* I just run it in the background and my php scripts connect to it and
* the tests
*/
$host = 'http://localhost:4444/wd/hub';
$driver = RemoteWebDriver::create($host, DesiredCapabilities::firefox());
$driver->get('http://google.com');
$element = $driver->findElement(WebDriverBy::name('q'));
$element->sendKeys('Cheese');
$element->submit();
Это та деталь, которую вы ищете?
Если вы визуальный ученик, как я, это
Selenium WebDriver, настроенный с PHP — обучение Selenium PHP
поможет вам сделать это. 🙂