Sto provando a eseguire un test case al selenio usando PHPUnit. E la prima cosa che faccio è provare la funzione di login, questo funziona perfettamente ma poi voglio eseguire una funzione per controllare le informazioni sulla pagina dopo il login ma apre un nuovo browser invece di continuare nella finestra corrente del browser. Il motivo per cui questo è un problema è dovuto al fatto che la pagina è impostata per rimuovere l'autenticazione di login quando la finestra è chiusa, quindi se usi $ this-> url() per andare alla pagina dà l'errore di cui ho bisogno per accedere. Questo è il mio codice adesso, avvia il browser ed esegue la funzione per testare il modulo di login, quindi chiude il browser, ne apre uno nuovo ed esegue il controllo del collegamento. Ciò comporta ovviamente un errore dovuto all'errore di autenticazione perché la finestra è stata chiusa. Potrei eseguire tutti i test in una funzione, ma questa è una codifica davvero sciatta e voglio evitarlo. Qualcuno sa come risolvere questo?Come si esegue un test di selenio PHPUnit senza eseguire una nuova finestra del browser per ogni funzione?
<?php
class TestMyTest extends PHPUnit_Extensions_Selenium2TestCase {
public function setUp()
{
$this->setBrowser("firefox");
$this->setBrowserUrl("https://**************************");
}
public function testLoginForm()
{
$this->url("login.php");
$this->byLinkText('Forgot your password?');
$form = $this->byCssSelector('form');
$this->byName('username')->value('test');
$this->byName('password')->value('1234');
$form->submit();
}
public function testCheckForMainMenueLinks()
{
$this->url("index.php");
$this->byLinkText('Home');
$this->byLinkText('Products');
$this->byLinkText('About us');
$this->byLinkText('Contact');
}
}
?>
Potete fornire alcuni frammenti del codice stai usando che sta causando i problemi? – Dirk
Ho aggiornato il post – user1593846