我有一個貝哈特步驟這樣,它斷言有指向一些與/videos/
在URL的鏈接:期望的字符串或標識符,但<定界符「/」在8>發現
And I must see at least 1 "*[href~=/videos/]"
實施如下:
/**
* Asserts that at least X amount of Y exist
*
* @Then /^I must see at least (?P<amount>\d+) "([^"]*)"$/
*/
public function iMustSeeAtLeast($amount, $selector)
{
$session = $this->getSession();
$container = $this->getContainer() ?: $session->getPage();
$elements = $container->findAll('css', $selector);
$actual = count($elements);
AssertionAbstract::assertGreaterThanOrEqual(
(int)$amount,
(int)$actual,
'Expected at least ' . $amount . ' of ' . $selector . ', found only ' . $actual . ' on ' . $session->getCurrentUrl() . '.'
);
}
唯一的例外是:
Exception 'Symfony\Component\CssSelector\Exception\SyntaxErrorException'
with message 'Expected string or identifier, but <delimiter "/" at 8> found.'
in vendor/symfony/css-selector/Exception/SyntaxErrorException.php:34
爲什麼我不能把一個斜線的一步?
你試圖逃離你的選擇,如 「* [HREF〜= \ /視頻\ /]」 ??? – Paladin
yup,嘗試像聖騎士逃跑說 – delboy1978uk
@帕拉丁它不會拋出一個錯誤,但它不會找到更多的元素匹配(我發現他們,當我把選擇器放在瀏覽器中的控制檯'$(「a [href * = '\/ARTIKEL \ /']「)')。 – DanFromGermany