【问题标题】:Behat & Mink - Can't find Link associated with classBehat & Mink - 找不到与课程相关的链接
【发布时间】:2016-11-17 23:10:37
【问题描述】:

我开始使用 behat 创建测试,以测试 drupal 网站。

在我的测试中,我希望看到一个链接(带图片),然后模拟点击它。

1 - 如果我有一个基本链接为“<a href="...">My text</a> 使用:我应该会看到“我的文字”链接,它可以工作。

2 - 如果我有一个<a class="myclass" href="...">My text</a> 的链接(myclass 用于显示带有 css 的图像),使用:我应该看到链接“我的文本”,它不起作用! 我不明白为什么。

3 - 所以,我尝试了另一种方法,使用元素类: 我应该看到一个“.block-forward .bloc-other”元素,它有效! 但有时,我的元素没有任何特定的 CSS。

最后,我有一些问题要找到要放置的内容而不是 :element 或 :link(我已经阅读了许多文档和问题)

非常感谢您的帮助

【问题讨论】:

  • 不是很清楚,如果您在第二种情况下遇到问题,请添加元素的 html sn-p 以查看具有 src 属性的图像和具有 href 属性的链接。如果您使用的是 phpstorm 之类的 IDE,那么您将在自动完成的方法文档中看到所需的参数,否则您需要自己搜索方法并阅读方法文档。
  • 如果链接 包含的内容(文本)没有改变,那么它应该可以工作。我没有看到 .block-forward .bloc-other 在链接中的位置,您可以编辑您的问题并添加一个带有更大块的 html sn-p,有和没有图像,看看有什么变化。

标签: behat mink


【解决方案1】:

这是我的例子:

<div class="content">
    <p><a href="#top-content">Top of page</a></p>
</div>

这里是一个无法访问的链接:

<div class="content">
    <span class="flag-wrapper flag-favoris flag-favoris-3">
        <a rel="nofollow" class="flag flag-action flag-link-toggle unflagged flag-processed" title="" href="/flag/flag/favoris/3?destination=node/3&amp;token=sdgsMpveGHPQ0B6YrSMo74HGH-W14HDTIpIzUhtCR-Y">Add to favorite</a>
        <span class="flag-throbber">&nbsp;
        </span>
    </span>
</div>

【讨论】:

    【解决方案2】:

    要找到您要查找的链接,您可以使用 CSS 选择器,例如:

    .flag-favoris a[href*=favoris]
    

    .flag-favoris a
    

    .content .flag-favoris a
    

    假设flag-favoris 类是指收藏夹部分,那么它是一个很好用的类。

    【讨论】:

    • 谢谢劳达。但是如果我测试:我应该看到一个“.flag-favoris a”元素,它不起作用(你的第一个方法同样的问题)
    • 我添加了另一个选择器尝试一下,同时检查页面中是否有任何 iframe。
    【解决方案3】:

    换句话说,一个没有类的链接:

    <a href="...">my text</a>
    

    所有方法都有效:

    我应该会看到“我的文字”链接

    我应该看到一个“.block-forward .bloc-other”元素

    带有链接和类: 我的文字 两个测试都不起作用。

    我也尝试使用自定义测试,$page-&gt;findLink($element)$page-&gt;find("named", array("link",$element)) 但它也不起作用。

    如果我用萤火虫检查&lt;a&gt;,我有:

    .flag-favoris a::before {
        content: "";
        font-family: "icomoon";
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        text-transform: none;
    }
    .print-page::before, .forward-page::before, .flag-favoris a::before {
        font-size: 1.2em;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 2014-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多