2016-11-07 4 views
1

I Funktionstests tue, und ich erhalte den FehlerSymfony2 InvalidArgumentException: Die aktuelle Knotenliste ist leer

InvalidArgumentException: Die aktuelle Knotenliste ist leer

Dies ist mein Code

public function testThis(){ 
    $requestContent = [ 
     'val1' => '324343', 
     'valname' => '"Benjamin"', 
     'valLast' => '"A"', 
     'valnum' => '44343', 
     'hndval1' => '0000', 
     'hdnval2' => '0000', 
     'hndval3' => '1111', 
     'hndref' => '"ThisIsAtest"', 
     'hdnMessage' => '"I am a message"' 

    ]; 

    $crawler = $this->client->request('GET', '/'); 
    $submitButton = $crawler->selectButton('btnSubmit'); 
    $form = $submitButton->form($requestContent); 

    print_r($form); 
    $this->client->followRedirects(true); 
    $crawler = $this->client->submit($form); 

    $response = $this->client->getResponse(); 
    $request = $this->client->getRequest(); 
    print_r($crawler->html()); 
    $this->assertRegExp('/\/nextPage', $request->getUri()); 
    print_r($request->getUri()); 
    $a = $crawler->filter('input[name="pageName"]'); 

    $this->assertContains(
     "True", 
     $a->attr('value') 
    ); 
} 

ich denke, es Fehler in dieser bekommt:

$ form = $ submitButton-> form ($ requestContent);

Beachten Sie, dass $ requestContent-Werte von einem verborgenen Eingabetyp kommen, die alle innerhalb des Formular-Tags sind.

Antwort

0

Sie haben Ihre HTML geschrieben, so nun angenommen, ich Ihre HTML wie:

<html> 
    <form method='GET' action='your action here'> 

     /* 
     * all other html here 
     */ 

     <input type='submit' value='Submit' id='btnSubmit' name='btnSubmit'> 

    </form> 

</html> 

$submitButton = $crawler->selectButton('btnSubmit'); 

$submitButton = $crawler->selectButton('Submit'); 

Da SELECT,() zu ändern Akzeptieren Sie den Button-Wert anstelle von ID oder Name.

Stellen Sie sicher, dass dies für Sie hilfreich ist.

1

Sie müssen den Text der Schaltfläche $crawler->selectButton() angeben.

// For a given HTML button: 
// <input type="button" value="Upload File" /> 
// or 
// <button type="button">Upload File</button> 

$crawler->selectButton("Upload File"); 

Randnotiz, Ihre RegexMuster '/\/nextPage' ist ungültig. Sie benötigen einen Schluss hinzufügen / ->'/\/nextPage/' // This will match the exact string: "/nextPage"

+0

Hallo Herr, ich habe getan, was Sie sagten und immer noch den gleichen Fehler bekommen. – momori14

+0

@ momori14, können Sie den '

Verwandte Themen