Ho scritto il caso del selenio per PHP. Mi piacerebbe ottenere la copertura del codice mentre eseguo questi test case. La mia TestCase:Copertura del codice con 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");
}
}
?>
Ho seguito i passaggi riportati nel link "http://www.phpunit.de/manual/current/en/selenium.html"
Dopo aver eseguito il test sono non è in grado di trovare la copertura del codice. In phpunit_coverage.php, sembra cookie con il nome PHPUNIT_SELENIUM_TEST_ID. Questo cookie è stato creato in Driver.php e vedo che il cookie è disponibile, ma ha il nome host da impostare su "localhost" piuttosto che sul nome della mia applicazione.
Tempo di vita del cookie impostato sessione, ovvero immediatamente dopo l'esecuzione del test case questo cookie non sarà più disponibile e quando provo a lanciare phpunit_coverage.php, non è possibile trovare il cookie e le informazioni in modo che non venga visualizzata alcuna copertura del codice.
Le cose che non capisco:
protected $coverageScriptUrl = 'http://applicationname/phpunit_coverage.php';
- Se il cookie ha ha host diverso diversa applicazione può essere accessibile questo cookie
Ho visto questo problema in discussione in molti forum, ma uno ha dato una risposta concreta
Molti forum suggeriscono di utilizzare localhost
anziché 127.0.0.1
come nome del server. Nel mio caso è già localhost.
Qualsiasi suggerimento a questo proposito sarà utile.
Grazie, Ravuri
Forse le risposte a queste domande potrebbero offrire un aiuto: http://stackoverflow.com/questions/11270527/does-phpunit-selenium-code-coverage-work – Potherca