2016-05-14 37 views
0

我无法点击使用Behat/Mink的链接。在<span>标签中有所需的文字,所以也许这可能是原因? 这是我*.feature文件的一部分:无法关注链接| Behat/Mink

Scenario: Tryin' to make it freakin' workin' yo! 
Given I am on "/home/" 
And I follow "Test" 
Then I should be on "/test/" 

这是页面的一部分我试图把重点放在:

<li id="ApplicationItem_test" class=" " data-placement="right" rel="popover" data-offset="-6" data-content="" data-original-title="test">        
    <a href="/app/tests/e76ee2a8d9094e11b6bb9c928c5d61e3/" data-subscription-id="e76ee2a8-d909-4e11-b6bb-9c928c5d61e3">         
    <i class="picon-money-icon-16"></i> 
    <span class="expand-element">test 
    </span>          
    <div id="nodeCounter_c592e0ce62c849fab427fc9f2a04b557" style="display:inline-block"> 
    </div>       </a>      
</li>        
<script type="text/javascript"> 
    var node = { id: '#nodeCounter_c592e0ce62c849fab427fc9f2a04b557', action: '/app/tests/e76ee2a8d9094e11b6bb9c928c5d61e3/GetSidebarActionCount' }; 
    Access.SideBar.nodesWithCounters.push(node); 
</script> 

这是我得到的错误:

And I follow "Test" 
FeatureContext::clickLink() 
Link with id|title|alt|text "Test" not found. (Behat\Mink\Exception\ElementNotFoundException) 

已经尝试了在互联网上找到的所有可能的CSS选择器功能。另外我想知道是否我不应该在这里使用Selenium的扩展名(因为JS?)

+0

当我遇到这个问题时,它是因为前面的步骤有错误。只要确保“给定我在/”/ home /“'显示你所期望的,在步骤上下文中调试并添加'$ this-> getSession() - > getPage() - > getHtml()'以确保该html是正确的,没有错误。 – gvf

+0

令人惊讶的是,你是对的!感谢队友,哟! – Lubos

回答

0

所以答案是:我不在正确的页面上。 基本情景应该是独立的 - 这意味着我以前的会话被烧毁,并且我错过了一些以前的步骤(例如,登录)。