2017-04-14 2 views
0

Ich habe Schwierigkeiten, konsistente Ergebnisse mit Laravel Dusk zu erhalten, um E-Mails senden über die Anmeldung in Gmail und navigieren zum "COMPOSE" -Button, da die Elemente ID und Klasse dynamisch geändert wird Seite neu laden.Wie benutze Laravel Dusk mit dynamischen Gmail-Selektoren

Ich habe versucht, Element zu verwenden und den Selektor ohne Glück zu kopieren.

Der Zweck dieser Übung ist nur, um Laravel Dusk besser zu verstehen und Spaß dabei zu haben.

Mein Code unten:

public function testGmailExample() 
{ 
    $this->browse(function (Browser $browser) { 
     $browser->visit('http://gmail.com') 
     ->assertSee('Gmail') 
     ->type('Email', '[email protected]') 
     ->pause(1000) 
     ->press('#next') 
     ->pause(1000) 
     ->assertSee('[email protected]') 
     ->type('#Passwd', 'myPassword') 
     ->press('#signIn') 
     ->waitFor('#\3a xy > div > div', 10) 
     ->click('#\3a xy > div > div') 
     ->pause(1000) 
     ->type('to', '[email protected]') 
     ->type('subjectbox','Laravel Dusk is Awesome') 
     ->click('Send') 
     ->pause(3000); 
     //Only had one success with the above code, would prefer consistent results 
    }); 
} 

Jede Hilfe wird sehr geschätzt.

Antwort

1

Sie können clickLink() dafür verwenden:

$browser->clickLink('COMPOSE'); 

Aus der Dokumentation:

einen Link zu klicken, können Sie die clickLink Methode auf dem Browser-Instanz verwenden. Die ClickLink-Methode klickt auf den Link mit dem angegebenen Anzeigetext

Verwandte Themen