Laravel 5.2.x测试点击链接与具有特殊字符的正文

ale*_*bra 5 php testing click delimiter laravel-5

如果链接的主体有像"@"这样的特殊字符,如何测试链接?

例:

<a href="foo.php">foo@foo.com</a>
Run Code Online (Sandbox Code Playgroud)
public function foo()
{
    $this->visit('/foo')
         ->click('foo@foo.com');
}
Run Code Online (Sandbox Code Playgroud)

错误输出:

Symfony\Component\CssSelector\Exception\SyntaxErrorException: Expected selector, but <delimiter "@" at 7> found.
Run Code Online (Sandbox Code Playgroud)

我也试图逃避"@"标志:

public function foo()
{
    $this->visit('/foo')
         ->click('foo\@foo.com');
}
Run Code Online (Sandbox Code Playgroud)

错误输出:

InvalidArgumentException: Could not find a link with a body, name, or ID attribute of [foo\@foo.com].
Run Code Online (Sandbox Code Playgroud)

Nir*_*hah 0

您使用的是 Laravel 5 的哪个版本,因为如果 Laravel 5.2.x 则不会发生这种情况。

但是,您可以尝试@按如下方式转义该标志:

public function foo()
{
    $this->visit('/foo')
         ->click('foo\@foo.com');
}
Run Code Online (Sandbox Code Playgroud)