【问题标题】:Unexpected test behavior in Laravel DuskLaravel Dusk 中的意外测试行为
【发布时间】:2019-08-11 09:53:18
【问题描述】:

我有测试,我想使用if/else

   public function testLocal() {

        $this->browse(function (Browser $browser) {
            $browser->visit('')
                ->type('cro_user_email', '1')
                ->type('cro_user_password', '1')
                ->press('LOG IN')
                ->pause(1500)
                ->click('div > section.c-clients > div:nth-child(1) > div:nth-child(2) > a')
                ->click('td.tablesaw-swipe-cellpersist > a');


            if ($browser->assertVisible('div > nav > a > i')) {
                    $browser->click('div > nav > a > i');

            } elseif ($browser->assertMissing('div > nav > a > i')) {
            $browser->quit();
            }
        });
    }
}

问题是,我的 IDE 显示此错误:

Facebook\WebDriver\Exception\NoSuchElementException : no such element: Unable to locate element: {"method":"css selector","selector":"body div > nav > a > i"}

我能做什么?

【问题讨论】:

    标签: laravel laravel-dusk


    【解决方案1】:

    您的问题在 if 条件内:

    if ($browser->assertVisible('div > nav > a > i')) {
    

    代码$browser->assertVisible('div > nav > a > i') 不会返回真/假,而是返回真或抛出异常。

    不要像这样使用 if/else 异常处理:

    try {
        $browser->assertVisible('div > nav > a > i');
    } catch (\Facebook\WebDriver\Exception\NoSuchElementException $exception) {
        $browser->assertMissing('div > nav > a > i');
    }
    $browser->quit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      相关资源
      最近更新 更多