Задать вопрос

Selenium IDE выгрузка тестов в php. Как заставить работать с минимальным вмешательством в код?

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

Устанавливаем в firefox selenium IDE и доп. плагин для выгрузки в php.
У нас предоставляется два варианта выгрузки:
  1. PHPUnit
  2. Testing_selenium
6200f1f17bbd42cd83b598c7a49fa744.jpg

Скачаем оба варианта.
Вот тут и начинаются появляться вопросы.
К примеру возьмем 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
Пытаюсь запустить тест, как есть, соответственно ничего не выход.

255f665134c040ce911103aeac83a9b9.jpg

Почему то приходит в голову бредовая идея убрать "*" рядом с сhrome $this->setBrowser("chrome");

Пытаюсь запустить тест и запускается firefox, и сразу же закрывается, а в консольке ошибочка:

6edcf61f2391449a807b555411bb7046.jpg

Ругается на $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';

Вопрос: Где я взять? Что за класс такой?

Спасибо всем кто откликнется!
  • Вопрос задан
  • 348 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы