У меня проблемы с тем, чтобы Selenium мог просматривать сайты, размещенные на виртуальной машине.Следующий тест вызывает ошибку, и я понятия не имею, почему:
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class ActualTest extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp()
{
$this->setBrowser("*firefox");
$this->setBrowserUrl("http://10.48.77.48/"); // IP of virtual machine
$this->setHost('192.168.101.1'); // IP of my Mac
}
public function testGetHomePage()
{
$this->open("/", true);
}
}
Возвращает следующее сообщение об ошибке, указывающее, что не удалось найти виртуальную машину:
$ phpunit ActualTest.php
PHPUnit 3.5.6 by Sebastian Bergmann.
E
Time: 7 seconds, Memory: 6.75Mb
There was 1 error:
1) ActualTest::testGetHomePage
PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete().
XHR ERROR: URL = http://10.48.77.48/ Response_Code = 404 Error_Message = Page Not Found.
/home/craiga/ombudsman/app/systemtests/ActualTest.php:16
FAILURES!
Tests: 1, Assertions: 0, Errors: 1.
Я могу получить доступ к этому сайту из любого браузера в любом месте сети без каких-либо проблем, но по какой-то причине браузер, запущенный Selenium, не может.Эта ошибка возникает независимо от того, запускаю ли я тест с виртуальной машины или Mac.
У меня может быть следующий тест для подключения к Google без проблем:
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class VanitySearchTest extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp()
{
$this->setBrowser("*firefox");
$this->setBrowserUrl("http://www.google.com.au/");
$this->setHost('192.168.101.1'); // IP of my Mac
}
public function testSearchForSelf()
{
$this->open("/");
$this->type("q", "craig anderson");
$this->click("btnG");
$this->waitForPageToLoad("30000");
try {
$this->assertTrue($this->isTextPresent("craiga.id.au"));
} catch (PHPUnit_Framework_AssertionFailedError $e) {
array_push($this->verificationErrors, $e->toString());
}
}
}
Этот тест, который подключаетна страницу моего Mac по умолчанию, также проходит без проблем:
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class MacTest extends PHPUnit_Extensions_SeleniumTestCase
{
protected function setUp()
{
$this->setBrowser("*firefox");
$this->setBrowserUrl("http://192.168.101.1/");
$this->setHost('192.168.101.1'); // IP of my Mac
}
public function testMacHomePage()
{
$this->open("/");
try {
$this->assertTrue($this->isTextPresent("It works!"));
} catch (PHPUnit_Framework_AssertionFailedError $e) {
array_push($this->verificationErrors, $e->toString());
}
}
}
Кто-нибудь знает, почему это может происходить?Я рад предоставить любую информацию о моей настройке.Я использую Selenium Server 1.0.3 и последнюю версию phpunit от pear.