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

Фотография

еще раз про sessionId should not be null; has this session been starte


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

#1 Jenka156

Jenka156

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

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 19 августа 2011 - 13:43

у меня есть 2 класса в файле конфигурации, который подключается к файлу теста require_once. один класс отвечает за подразделения (Department) и наследуется в кейсах для подразделений. другой отвечает за пользователей (Users) в этих подразделениях и наследуется в кейсах по пользователям.

Проблема вот в чем: когда я пишу тело теста, который работает с пользователями, то в нем перед тем как работать с пользователями мне нужно создать подразделение. я создаю экземпляр класса для работы с подразделениями.
пишу это в теле функции теста testMyTestCase():

$dep = new Department();

$this->open("/");
$this->LoginUser("admin", "admin"); // вход в систему
$dep->CreateDepartment("Подразделение 1"); // вызов метода класса Department

Ошибок никаких НетБинс не показывает. когда запускаю тест, он залогинивается под администратором и потом сразу выдает ошибку:
PHPUnit_Framework_Exception: Response from Selenium RC server for click(//div[@id='instr']).
ERROR Server Exception: sessionId should not be null; has this session been started yet?.

В чем ошибка? без экземпляра класса тест работает...
  • 0

#2 ekulgavaya

ekulgavaya

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 19 августа 2011 - 14:06

Возможно, класс Department содержит поле типа Selenum. Тогда этот объект не инициализирован, и сответственно скрипт не может понять, что ему делать.
А
"//div[@id='instr']" 

можно заменить просто на "instr"
  • 0
In God we trust, the rest we test.

#3 Jenka156

Jenka156

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

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 19 августа 2011 - 15:14

что значит "поле типа Selenum"?

и почему еще он ругается, что sessionId should not be null?
я так понимаю, что он, создавая экземпляр класса, пытается создать новую сессию???
  • 0

#4 ekulgavaya

ekulgavaya

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Елена
  • Город:Minsk, Belarus


Отправлено 19 августа 2011 - 15:50

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



У вас в классе Department есть переменная типа DefaultSelenium ?
я не знаю как в php идет объявление переменных.)
Если есть, то вот здесь
$dep->CreateDepartment("Подразделение 1");

Нужно добавить параметр selenium (или как он у вас называется). И в конструкторе CreateDepartment передать это значение в поле типа DefaultSelenium.

Непонятно объяснила?Изображение
  • 0
In God we trust, the rest we test.

#5 vitorg

vitorg

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

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 20 августа 2011 - 17:46

Вы забыли вызвать в самом начале метод session.start().
  • 0

#6 Jenka156

Jenka156

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

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 22 августа 2011 - 05:48

спасибо! ошибку вообщем то поняла) сейчас буду разбираться
  • 0


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

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