Я хочу перенести мои тесты на селен RC для использования PHPUnit 3.4.12 из PHPUnit 3.3.2.
Тест на селен не пройден, за исключением следующих случаев, когда я использую assertTextPresent()
:
PHPUnit_Framework_Exception: Response from Selenium RC server for getLocation().
ERROR Server Exception: sessionId should not be null; has this session been started yet?.
Например:
public function testSending($browser)
{
...
$browser->click("send");
$browser->waitForPageToLoad("30000");
$browser->assertTextPresent("text");
}
Ниже приведен журнал селен RC (работает в Windows):
15:40:19.676 INFO - Command request: isTextPresent[text, ] on session 153d03a123c42098711994f43c2db34
15:40:19.691 INFO - Got result: OK,false on session 153d023a123c42098711994f43cdb34
15:40:19.879 INFO - Command request: testComplete[, ] on session 153d023a123c4298711994f43c2db34
15:40:19.879 INFO - Killing Firefox...
15:40:20.269 INFO - Got result: OK on session 153d023a123c42098711994f43c2db34
15:40:20.472 INFO - Command request: getLocation[, ] on session null
15:40:20.472 ERROR - Exception running 'getLocation 'command on session null
java.lang.NullPointerException: sessionId should not be null; has this session been started yet?
Как видите, тест должен был завершиться, как указано битом "Killing Firefox", но вместо этого он продолжил делать что-то еще и вызвал команду getLocation [,], которая вызвала исключение.
Я пробовал тот же тест с PHPUnit 3.3.2, который не вызывал этой проблемы - тест благополучно завершился бы без getLocation()
.
Есть идеи?