Ich habe Selenium Testfall für PHP geschrieben. Ich möchte die Codeabdeckung während der Ausführung dieser Testfälle erhalten. Mein Testfall:Code Coverage mit PHPUnitSeleniumTestcase
<?php
class Example extends PHPUnit_Extensions_SeleniumTestCase
{
protected $coverageScriptUrl = 'http://applicationname/phpunit_coverage.php';
protected function setUp()
{
$this->setBrowser("*firefox");
$this->setBrowserUrl("http://applicationname");
$this->setCollectCodeCoverageInformation(true);
$this->setTestId("10001");
$this->setHost("applicationname");
}
public function testMyTestCase()
{
$this->open("http://applicationame");
$this->assertEquals("title", $this->getTitle());
$this->type("id=ext-comp-1002", "testuser");
$this->fireEvent("id=ext-comp-1002", "blur");
$this->type("id=ext-comp-1003", "testpassword");
$this->fireEvent("id=ext-comp-1003", "blur");
$this->click("ext-gen45");
$this->waitForPageToLoad("200000");
}
}
?>
ich die Schritte in den Link erwähnt gefolgt sind „http://www.phpunit.de/manual/current/en/selenium.html“
Nach Durchführung des Tests ich bin nicht in der Lage, die Codeabdeckung zu finden. In phpunit_coverage.php sucht es Cookie mit dem Namen PHPUNIT_SELENIUM_TEST_ID. Dieser Cookie wird in Driver.php erstellt und ich sehe, dass ein Cookie verfügbar ist, aber der Hostname muss auf "localhost" und nicht auf meinen Anwendungsnamen eingestellt sein.
Cookie-Lebenszeit ist gesetzt Sitzung, d. H. Bedeutet sofort nach Testfall Ausführung dieser Cookie nicht mehr verfügbar und wenn ich versuche, phpunit_coverage.php zu starten, ist es nicht in der Lage, den Cookie und Informationen zu finden, so dass keine Codeabdeckung erscheint.
Dinge, die ich nicht verstehe:
protected $coverageScriptUrl = 'http://applicationname/phpunit_coverage.php';
- Wenn das Cookie hat unterschiedliche Host andere als Anwendung dieses Cookie kann
ich gesehen habe, dieses Problem in zugänglich sein diskutiert viele Foren, aber eine gab konkrete Antwort
Viele Foren vorgeschlagen, localhost
anstelle vonzu verwendenals Servername. In meinem Fall ist es bereits localhost.
Jeder diesbezügliche Vorschlag ist hilfreich.
Danke, Ravuri
Vielleicht Antworten auf diese Fragen bieten möglicherweise Hilfe: http://StackOverflow.com/Questions/11270527/does-phunitat-selenium-code-coverage-work – Potherca