如何使用Laravel Dusk与Gmails动态选择器

时间:2017-04-14 00:13:25

标签: html laravel unit-testing gmail laravel-dusk

我努力使用Laravel Dusk发送电子邮件来获得一致的结果 通过登录Gmail并导航到" COMPOSE"按钮,因为元素ID和类在页面重新加载时动态更改。

我尝试过使用inspect元素并且没有运气复制选择器。

本练习的目的只是为了更好地理解Laravel Dusk,并在开始时享受一些乐趣。

我的代码如下:

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用clickLink()

$browser->clickLink('COMPOSE');

来自文档:

  

要单击链接,您可以在浏览器实例上使用clickLink方法。 clickLink方法将单击具有给定显示文本的链接