【问题标题】:How can I find a link by URL in my functional test?如何在我的功能测试中通过 URL 找到链接?
【发布时间】:2017-11-13 17:29:55
【问题描述】:

Symfony testing documentation中,它显示了如何选择包含特定文本的链接:

$crawler->selectLink('Click here');

但我正在寻找的链接并不总是具有相同的文本。它会根据记录的状态说出几种不同的事情之一,因此,我需要通过 URL 找到它。我想我可以弄清楚如何使用 xpath 过滤器来做到这一点。这是我应该做的,还是有更好的方法?

【问题讨论】:

    标签: symfony functional-testing domcrawler symfony3.x


    【解决方案1】:

    您将针对已知状态进行测试 - 因此该状态将告知按钮上应包含哪些文本。

    如果不是 - 您也可以通过 CSS ID 或足够的其他信息来唯一地识别按钮,例如在 ID 指定的范围内的按钮的类名、CSS 路径或 XPath。

    Full CSS Path to the `<code>` block in your question
    #question > table > tbody > tr:nth-child(1) > td.postcell > div > div.post-text > pre > code
    
    Xpath
    //*[@id="question"]/table/tbody/tr[1]/td[2]/div/div[1]/pre/code
    

    但是,一个特定的 ID 或要查找的文本会容易得多,而且破坏的可能性要小得多!

    【讨论】:

    • “针对已知状态进行测试。”当然。我真的走错了路。我正在考虑通过 URL 查找链接,然后验证其文本是否是正确的值之一。但实际上我认为我需要测试每个状态并验证该状态的正确链接文本是否存在。
    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多