我正在为我的Symfony应用程序编写功能测试。
但是,我还没有办法点击像这样的链接按钮
<a id="update" title ="Edit this folder" name="update" href="{{ path('folder_edit', { 'id': entity.id }) }}">
<button class="button-strong">
Edit
</button>
</a>
我尝试以这种方式点击它:
$link = $crawler->selectLink("Edit")->link();
$client->click($link);
我尝试了很多其他方法,但没有任何成功。但是当我运行测试时,他一直在抛出这个例外:
InvalidArgumentException : The current node list is empty
我看过是否有办法只点击一个按钮,但如果没有与之相关联的表单似乎是不可能的。
非常感谢。
答案 0 :(得分:1)
首先,<button>
中的<a>
在HTML 5中无效,可能无法按预期工作。
得出答案,你得到这个错误的原因是由于空白的差异。抓取工具不会忽略空格,因此找不到包含编辑文本的链接。
<强> HTML 强>
<a id="update" title ="Edit this folder" name="update" href="#">Edit</a>
<强> TEST 强>
$link = $crawler->selectLink('Edit')->link();
$client->click($link);