【问题标题】:Behat / Mink / PhantomJS not following anchor elementBehat / Mink / PhantomJS 不跟随锚元素
【发布时间】:2014-10-14 16:29:43
【问题描述】:

我有一个场景:

  @javascript
  Scenario: Login as a student 
    Given I am on "/"
    And I wait for 1 seconds
    When I fill in "login-email" with "test@student.com"
    And I fill in "login-pass" with "password"
    And I follow "CONFIRM" 
    And I wait for 1 seconds
    Then I should see "WELCOME Test Student"

在尝试点击“确认”链接之前,它一直有效。 链接如下所示:

<a id="login-nav-br-submit" class="button nav-button shadow-bottom shade" style="right: 0px;">CONFIRM</a>

还尝试使用 &lt;a&gt; 元素的 id,但这也失败了。我看到它不是&lt;a href=""&gt;。有没有办法让 Mink 跟随链接?

【问题讨论】:

标签: php phantomjs behat mink


【解决方案1】:

如果您没有href 属性,则没有链接。我的意思是,如果无处可去,你希望它跟随在哪里?如果它附加了一个执行某些操作的 JS,那么您可以直接点击它而不是关注它:

/**
 * @When /^(?:|I )click on "(?P<text>.+)" link$/
 */
public function clickOnLink($text)
{
    $element = $this->getSession()->getPage()->find('xpath', '//a[text() = "' . $text . '"]');
    $element->click();
}

【讨论】:

  • 谢谢,几乎成功了——只需要添加'xpath'作为第一个参数来查找。已标记为答案,但请更新
  • 是的,我一直在梦想 Behat 不言而喻:)
  • @IanBytchek - 我想知道你是否有解决方案this post
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多