Доброго времени суток, дорогие друзья.
Попробую Вам описать суть проблемы. Ну что же...начнем.
Устанавливаем в firefox selenium IDE и доп. плагин для выгрузки в php.
У нас предоставляется два варианта выгрузки:
- PHPUnit
- Testing_selenium
Скачаем оба варианта.
Вот тут и начинаются появляться вопросы.
К примеру возьмем PHPUnit.
Код, который выгрузился:
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp()
{
$this->setBrowser("*chrome");
$this->setBrowserUrl("https://www.google.ru/");
}
public function testMyTestCase()
{
$this->open("/");
$this->type("name=q", "Да как заставить тебя работать?");
$this->click("name=btnG");
$this->waitForPageToLoad("30000");
}
}
Проблема: IDE выгружает для первого селениума, что подтверждает наследование от "PHPUnit_Extensions_SeleniumTestCase"
Вопрос: есть ли плагин, который будет выгружать для второго селениума?
Далее я видя, что у нас селениум 1, а не два, редактирую на "PHPUnit_Extensions_Selenium2TestCase"
Кстати, соответственно уже установлен "phpunit/phpunit-selenium": "^3.0" через composer
https://phpunit.de/manual/3.7/en/selenium.html
Запускаем selenium - selenium-server-standalone-3.3.1.jar
Пытаюсь запустить тест, как есть, соответственно ничего не выход.
Почему то приходит в голову бредовая идея убрать "
*" рядом с сhrome
$this->setBrowser("chrome");
Пытаюсь запустить тест и запускается firefox, и сразу же закрывается, а в консольке ошибочка:
Ругается на
$this->open("/");
Я иду смотреть в родителя, надеюсь найти "open" метод, но не нахожу его в классе
abstract class PHPUnit_Extensions_Selenium2TestCase extends PHPUnit_Framework_TestCase
Первые два метода есть:
$this->setBrowser("chrome");
$this->setBrowserUrl("https://www.google.ru/");
public function setBrowser($browserName)
{
if (!is_string($browserName)) {
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
}
$this->parameters['browserName'] = $browserName;
}
public function setBrowserUrl($browserUrl)
{
if (!is_string($browserUrl)) {
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
}
$this->parameters['browserUrl'] = new PHPUnit_Extensions_Selenium2TestCase_URL($browserUrl);
}
Вопрос: как тогда протестировать, то что я выгрузил?
Если откроем "Test_selenium":
<?php
require_once 'Testing/Selenium.php';
class Example extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
$this = new Testing_Selenium("*chrome", "https://www.google.ru/")
$this->open("/");
$this->type("name=q", "Да как заставить тебя работать?");
$this->click("name=btnG");
$this->waitForPageToLoad("30000");
}
}
?>
Почти схожая ситуация, но еще
require_once 'Testing/Selenium.php';
Вопрос: Где я взять? Что за класс такой?
Спасибо всем кто откликнется!